2013-08-28 42 views
0

即時通訊使用eclipse和mingw32。我的問題是,當我添加-static標誌連接選項,我收到此錯誤信息:mingw32/bin/ld.exe: cannot find -llibcurlC++添加靜態libcurl,不會編譯

沒有-static標誌,它結合了罰款和工作。我使用mingw32編譯libcurl。然後我將頭文件複製到mingw包含文件夾,並將文件從libcurl lib文件夾複製到mingw lib文件夾。我做錯了什麼,但我不知道是什麼。

+0

什麼的libcurl文件的lib文件夾中的擴展? – krsteeve

+0

在lib文件夾中有libcurl.res,libcurl.a,libcurl.dll,libcurl,def和libcurl.rc文件。 – John

回答

0

-static表示「不反對鏈接共享庫。」 當你不使用這個選項時,鏈接器將鏈接到共享版本的二進制文件(在windows上的linux/libcurl.dll上的libcurl.so)。 也許你的開發環境中沒有libcurl的靜態版本,或者你沒有給出正確的文件路徑(libcurl.lib)。

+0

我在lib文件夾中有libcurl.a文件,我認爲它是一樣的東西?是的,我想讓exe工作沒有依賴,並且爲什麼我使用-static。 – John

+0

您可能會嘗試將該文件的擴展名更改爲lib,然後重試。據我所知.lib用於靜態庫。 – OziMan

+0

我試過,但它給了另一個:libcurl.lib(easy.o):(文字+ 0x1b5):未定義的引用'WSACleanup @ 0' – John