簡體   English   中英

g++ 無法鏈接 curl 庫文件

[英]g++ can't link curl lib files

我在獲取 g++ 以鏈接 curl 庫文件時遇到一些問題。 我正在使用帶有 linux 開發插件和 Ubuntu Server 17.04 的 Visual Studio 2017。

curl-config --libs給出了 -Lcurl 的-Lcurl ,我嘗試將其添加到Project settings > Linker > Command Line > Additional options中的 linker 選項中。 我還在編譯選項中添加了--cflags output。 這並沒有解決問題。

然后我嘗試了網站上的源代碼並使用了 make 和 make install。 curl-config --libs給了我一個不同的 output 的-L/usr/local/lib -lcurl 我更改了 linker 中的選項,但這仍然不起作用。

linker output 說了很多“未定義的引用”,然后是 curl 方法。 我在 cpp 文件中有#include <curl/curl.h>

有任何想法嗎?
謝謝

默認安裝時,您將使用-lcurlcurl庫指定為gcc ,如curl-config --libs報告的curl-config --libs 並將其傳遞給VCLinux生成的gcc命令行,請將curl添加到 額外 VS項目屬性中“ 鏈接器 / 輸入”下的“ 庫依賴關系”行。 請注意,您只輸入curl ,VCLinux提供了-l ,並且gcc鏈接器將其擴展為libcurl.a (或libcurl.so的實際文件名)(如果您要鏈接共享庫)。

通常不必指定庫搜索路徑,因為/usr/lib等自動在庫搜索路徑上。 例如,在Debian 9上, libcurl.a位於/usr/lib/i386-linux-gnu 但是,如果在非標准位置安裝curl,請在Linker / General下將路徑添加到Additional Library Directories 如果要從Linux發行版安裝curl,請記住也要安裝開發文件。 在Debian上,這是軟件包libcurl4-gnutls-dev

curl與pkg-config兼容,因此,除了直接輸入路徑和庫名稱之外,還可以在C ++ / 所有選項 / 附加選項中指定%24(pkg-config --cflags libcurl)%24(pkg-config --libs libcurl)鏈接器 / 所有選項 / 其他選項中 請注意, %24是已編碼的$因為否則Visual Studio會嘗試(失敗)將字符串解釋為宏。

是因為后面沒有h。 在你的包括? 除此之外,Visual Studio還需要知道標題和庫的搜索路徑。 它可以搜索生成輸出或其某些默認目錄(即VC ++目錄)。 除此之外,您還必須使用附近的一些其他菜單來告訴它要搜索的位置。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM