Ich habe einen Code mit mehreren Dateien, die die GSL-Bibliothek verwendet. Wenn ich den Code über das Terminal mit dem Befehl kompilierenVerknüpfen von GSL in Cmakelists.txt in CLion
Dies kompiliert und gibt die richtige Ausgabe und keine Fehler. Allerdings, wenn ich den Code in CLION versuchen und bauen ich den Fehler
undefined reference to `gsl_rng_uniform'
ich die verschiedenen CPP-Dateien in meinem Code durch den CMakeLists.txt verknüpft haben, aber ich denke, muss ich etwas ähnliches die Fahnen, die mit GSL verlinkt werden sollen. Meine CMakeLists.txt Datei wird als zur Zeit folgt (nur die CPP-Dateien werden in den Quelldateien enthält, nicht die H-Dateien):
cmake_minimum_required(VERSION 3.7)
project(Unitsv1)
set(CMAKE_CXX_STANDARD 11)
set(SOURCE_FILES main.cpp
transition.cpp
random.cpp)
add_executable(Unitsv1 ${SOURCE_FILES})
Ich bin sehr neu in C++, und kann nicht scheinen, um online Antworten zu finden. Danke
Anfügen diesen Befehl, um Ihre CMakeLists.txt target_link_libraries (Unitsv1 gsl) – Misgevolution
Mögliches Duplikat von [Was ist ein nicht definierter Verweis/ungelöster externer Symbolfehler und wie behebe ich ihn?] (Https: // stac koverflow.com/questions/12573816/what-is-an-undefined-reference-unresolved-external-symbol-error-and-how-do-i-fix) – arrowd
muss aber sicherstellen, dass es im Suchpfad ist. https://cmake.org/cmake/help/v3.0/command/link_directories.html – xaxxon