Heim >Backend-Entwicklung >C++ >Warum findet „link_directories' von CMake keine Bibliotheken, wenn es nicht vor „add_executable' platziert wird?

Warum findet „link_directories' von CMake keine Bibliotheken, wenn es nicht vor „add_executable' platziert wird?

Barbara Streisand
Barbara StreisandOriginal
2024-12-02 13:09:13281Durchsuche

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

CMakes „link_directories“ findet keine Bibliotheken

Bei Linkerfehlern, die auf fehlende Verweise auf Funktionen aus einer Bibliothek hinweisen, trotz Verwendung von „link_directories“ In CMake ist es wichtig, die Reihenfolge Ihrer Befehle zu überprüfen. Die Lösung besteht darin, sicherzustellen, dass die „link_directories“-Direktive vor dem „add_executable“-Aufruf steht, wie unten gezeigt:

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

Anfangs bestand die falsche Annahme, dass „link_directories“ nur vor „target_link_libraries“ erscheinen musste. Durch die Platzierung vor „add_executable“ wurde das Problem jedoch behoben, sodass CMake die erforderliche Bibliothek erfolgreich verknüpfen konnte.

Das obige ist der detaillierte Inhalt vonWarum findet „link_directories' von CMake keine Bibliotheken, wenn es nicht vor „add_executable' platziert wird?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn