2017-08-08 5 views
0

カールのlibファイルをリンクするためにg ++を取得する際にいくつか問題があります。私はlinux devプラグインとUbuntu Server 17.04でVisual Studio 2017を使用しています。g ++はカールのlibファイルをリンクできません

curl-config --libsの出力は-Lcurlであり、これはリンカーオプションにProject settings > Linker > Command Line > Additional optionsを追加しようとしました。コンパイルオプションに--cflags出力を追加しました。これで問題は解決されませんでした。

私はウェブサイトからソースを試し、makeを使ってインストールを行いました。 curl-config --libsは私に-L/usr/local/lib -lcurlの異なる出力を与えました。私はリンカのオプションを変更しましたが、これはまだ動作しませんでした。

リンカーの出力には「未定義参照」が多くあり、次にカールメソッドが表示されます。私は#include <curl/curl.h>をcppファイルに持っています。

アイデア?
ありがとう

答えて

1

デフォルトのインストールでは、curl-config --libsによって報告されるように、curlライブラリをgccと指定し、-lcurlと指定します。そしてVCLinuxによって生成されたgccコマンドラインでこれを渡すために、VSのプロジェクトのプロパティでリンカ/入力追加ライブラリの依存関係ラインにcurlを追加します。 curlと入力し、VCLinuxは-lを提供し、gccリンカは実際のファイル名をlibcurl.a(または共有ライブラリをリンクする場合はlibcurl.so)に展開します。

/usr/libなどは自動的にライブラリの検索パスにあるため、通常はライブラリの検索パスを指定する必要はありません。たとえば、Debian 9の場合、libcurl.a/usr/lib/i386-linux-gnuです。しかし、非標準のどこかでカールをインストールする場合は、のライブラリディレクトリにパスを追加してください。/ Linuxディストリビューションからcurlをインストールする場合は、開発ファイルもインストールしてください。 Debianではlibcurl4-gnutls-devパッケージです。

カールが直接パスとライブラリ名を入力する代わりとして、あなたは%24(pkg-config --cflags libcurl) C++/すべてのオプション/リンカ/で追加オプション%24(pkg-config --libs libcurl)すべてを指定することができますので、pkg-configと互換性がありますオプション/追加オプション%24は符号化された$であることに注意してください。そうしないと、Visual Studioは文字列をマクロとして解釈しようとします。

+0

ありがとうございました。 – oliverjrose99

0

あなたの含む?それ以外にも、Visual Studioではヘッダーとライブラリの検索パスも知っている必要があります。ビルド出力またはVC++ディレクトリであるデフォルトディレクトリのいくつかを検索することができます。それ以外では、近くにある他のメニューを使って検索する場所を教えてください。

+0

申し訳ありませんが、スペルミスでした。今それを修正しました。 – oliverjrose99

関連する問題