移植unbuntu Qt項目到 windows 下(包含socket)

項目比較小,直接打開編譯是錯誤的,qmake執行錯誤。

===========================================================

解決方法:

    將.h  .cpp .ui和.pro文件拷貝到新建的項目裏。

編譯時會出現很多錯誤:

1.no such file:

      #include<netinet/in.h>
      #include<arpa/inet.h>
      #include<sys/ioctl.h>
      #include<net/if.h>
      #include<sys/socket.h> 

解決方法:去掉這些頭文件,添加:

        #include <winsock2.h>
        #pragma comment(lib,"WS2_32.Lib")

之後還是不識別send socket recv等函數,

還需要在.pro文件中添加:

        LIBS += -lWs2_32

建立socket之前,需要先執行WSAStartup()函數:

       WSADATA wsd;
       int err;
       err = WSAStartup(MAKEWORD(2,2), &wsd);

2. no such file:

        #include <QtWidgets>

解決方法:Qt5中是這個文件,Qt4中是#include <QtGui/QApplication>

3.  沒有聲明:QMessageBox  QFile

解決方案:添加#include <QFileDialog>  #include <QMessageBox>頭文件

編譯運行,就可以了

4.  setWindowTitle("標題")亂碼
解決方法: 在MainWindow構造函數中添加字符設置函數,設置爲UTF-8
      QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));
      QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章