私はこの問題を数週間は扱っています。私はおそらく私が気付いていない小さなステップを欠いていることを知っています。だから、どんな洞察も高く評価されるでしょう。CMake経由で外部ライブラリ(例:Eigen)を追加
私はいくつかの外部ライブラリを追加しようとしているし、私のC + +プロジェクトで使用しています。しかし、どのように考え出すことができないようです。私は外部のライブラリを追加することについてインターネット上のすべての記事を読んだが、私は何かが欠けていると思う!
たとえば、Eigen(ヘッダーのみのライブラリ)のような単純なライブラリを追加したいとします。プロジェクトのサブフォルダにあるすべてのファイルを含むフォルダをコピーして貼り付けました。私はThirdPartyLibrariesというサブフォルダを呼び出しました。
INCLUDE_DIRECTORIES("${MAINFOLDER}/ThirdPartyLibraries/eigen")
何か他に必要なことはありますか?
ここで、XGBoost(ヘッダファイルとソースファイルの両方を持つ)のような別のライブラリを追加したいとしましょう。どのように違うでしょうか?
私はXGBoostで同様のことをしました。私のコードはエラーなしでビルドすることができますが、ライブラリの関数を参照していない限り(基本的にライブラリをプロジェクトを使用せずにライブラリに追加するだけです)。いずれかの関数を使用しようとすると、「未解決の外部シンボル」に関するエラーが表示され、ライブラリを追加する際に何か不足していると思われます。
私のC++コードにライブラリを追加していません。あなたが説明を単純にしておくことができれば、それは素晴らしいことでしょう!
'ライブラリの追加中に何か不足していると思われる「未解決の外部シンボル」に関するエラーが表示されます。」 - [target_link_libraries](https://cmake.org/cmake/help/) v3.0/command/target_link_libraries.html)。 – Tsyvarev
ありがとうございます。それは理にかなっている。私は目標とする必要があるファイルは何ですか? .osまたは.dllファイルが見つかりません。 –
'.osまたは.dllファイルが見つかりません。 ' - それで、ライブラリをビルドする必要があります。 – Tsyvarev