こんにちは、私はlinkg Glfwとcmakeを使用する他のライブラリに問題があります。コマンドラインから私はこのようにコンパイルします
g++ main.cpp -lGL -lGLU -lGLEW -lglfw
しかし、コンパイルにはcmakeを使用したかったのです。 target_linkg_librariesを使用しようとしましたが、エラーが発生します
CMakeLists.txt:18(target_link_libraries)でのCMakeエラー:これによって構築されていないターゲット「GL」のリンクライブラリを指定できません
プロジェクト。
定義の追加を使用してこれを実行しようとしました。エラーは表示されませんが、これはライブラリをリンクしません。
cmake_minimum_required (VERSION 2.6)
project (test)
find_package(OpenGL REQUIRED)
find_package(GLEW REQUIRED)
ADD_DEFINITIONS(
-lGL
-lGLU
-lGLEW
-lglfw
)
add_executable(test.out
main.cpp
)
target_link_libraries(GL GLU GLEW glfw)
target_link_libraries
の構文は次のとおりです。
target_link_libraries(your_executable_name libraries_list)
add_definition
ステートメントを追加する必要はありません(target_link_libraries
はこのオプションを追加します)
OpenGLおよびGLEWパッケージによって提供される便利な変数もいくつかあります。
CMakeLists.txtは次のようになります。
cmake_minimum_required (VERSION 2.6)
project (test)
find_package(OpenGL REQUIRED)
find_package(GLEW REQUIRED)
include_directories(${OPENGL_INCLUDE_DIR} ${GLEW_INCLUDE_DIRS})
add_executable(test
main.cpp
)
target_link_libraries(test ${OPENGL_LIBRARIES} ${GLEW_LIBRARIES})
留意すべき重要な詳細の1つは、target_link_libraries
afteradd_executable
(またはadd_library
)行を配置することです。