Luf*_*ffy 27 c++ opengl glut glew cmake
嗨我有链接Glfw和其他库使用cmake的问题.从命令行我编译如下
g++ main.cpp -lGL -lGLU -lGLEW -lglfw
Run Code Online (Sandbox Code Playgroud)
但我想用cmake进行编译.我试图使用target_linkg_libraries,但这会产生错误
CMakeLists.txt上的CMake错误:18(target_link_libraries):无法为目标"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)
Run Code Online (Sandbox Code Playgroud)
wko*_*ski 56
语法target_link_libraries是:
target_link_libraries(your_executable_name libraries_list)
Run Code Online (Sandbox Code Playgroud)
而且您不必添加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})
Run Code Online (Sandbox Code Playgroud)
记住一个重要的细节是放置target_link_libraries 后的add_executable(或add_library)线.
| 归档时间: |
|
| 查看次数: |
49584 次 |
| 最近记录: |