我尝试编译在Ubuntu 16.04 x86_64上使用GLFW3库的程序。我安装了null: false
和libglfw3
个软件包。接下来,我写了libglfw3-dev
:
CMakeLists.txt
main.cpp :
cmake_minimum_required (VERSION 2.6)
project (Test)
set (CMAKE_CXX_FLAGS "-lGL -lGLEW")
set (CMAKE_EXE_LINKER_FLAGS -lglfw )
add_executable(Test src/main.cpp)
但我从#include <stdio.h>
#include <stdlib.h>
#include <GL/glew.h>
#include <GLFW/glfw3.h>
int main() {
if (!glfwInit()) {
return -1;
}
glfwTerminate();
return 0;
}
命令收到错误:
make
我做错了什么?为什么找不到GLFW3?
答案 0 :(得分:1)
与CMake中的库链接的本地方式是target_link_libraries:
cmake_minimum_required (VERSION 2.6)
project (Test)
add_executable(Test src/main.cpp)
target_link_libraries(Test GL GLEW glfw)
请注意,这仅适用于GL和其他库安装到编译器和链接器已知的默认位置。否则,最好使用find_package(GLEW)和其他find_package()
来电,如@tambre所述。