項目比較小,直接打開編譯是錯誤的,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"));