2011-07-06 66 views
1

我正在使用與遠程服務器通信的API,它僅在C中可用。我無法重寫它,因爲它是一個非常具體的協議,而且它會花費太多精力。使用套接字winapi與Qt

API提供它使用標準的Winsock2方案。所以,爲了與它合作,我將

LIBS += C:\\QtSDK\\mingw\\lib\\libws2_32.a 

添加到我的項目的.pro文件中。

但是,當程序訪問任何WinSock函數,即使WSAStartup,它立即崩潰,錯誤信息SIGILL -- Illegal Instruction。 我在做什麼錯?

+0

-1表示「立即崩潰」。爲了愛上帝,請告訴我們真正的錯誤信息是什麼! –

+0

SIGILL - 非法指令。 – Ivan

回答

0

你自己編譯這個API還是你把它作爲一個對象/頭對?如果你自己,是否與QtSDK\MinGW?你把它指向MinGW的winsock頭文件嗎?

一個很好的第一個測試是嘗試編譯一個簡單的驅動程序main使用這個庫,QtSDK\MinGW作爲獨立的,沒有Qt的qmake。一旦你做出工作,移植到你的Qt項目應該很容易。

+0

我將它作爲來源+標題添加,所以它與項目一起編譯。 – Ivan

+0

你可以單獨編譯它,並正確鏈接,使其工作,沒有Qt? –