ホームページ >バックエンド開発 >C++ >CMake の `link_directories` が `add_executable` の前に配置されていないとライブラリの検索に失敗するのはなぜですか?

CMake の `link_directories` が `add_executable` の前に配置されていないとライブラリの検索に失敗するのはなぜですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-02 13:09:13274ブラウズ

Why Does CMake's `link_directories` Fail to Find Libraries Unless Placed Before `add_executable`?

CMake の "link_directories" がライブラリの検索に失敗する

"link_directories" を使用しているにもかかわらず、ライブラリから関数への参照がないことを示すリンカー エラーが発生した場合CMake では、コマンドの順序を検査することが重要です。解決策は、以下に示すように、「link_directories」ディレクティブが「add_executable」呼び出しよりも前に配置されるようにすることです。

link_directories(/usr/lib/x86_64-linux-gnu)
add_executable(test main.cpp)

当初、「link_directories」は「target_link_libraries」の前にのみ出現する必要があるという誤解がありました。ただし、これを「add_executable」の前に配置すると問題が解決され、CMake が必要なライブラリを正常にリンクできるようになりました。

以上がCMake の `link_directories` が `add_executable` の前に配置されていないとライブラリの検索に失敗するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。