我正在尝试使用 Gcc 设置 KDevelop,但我无法让它正确链接到外部库。我收到以下错误:
/home/tahsin/Projects/glWrap/build> make
Linking CXX executable glwrap
CMakeFiles/glwrap.dir/main.cpp.o: In function `main':
/home/_/Projects/glWrap/main.cpp:11: undefined reference to `glutInit'
collect2: error: ld returned 1 exit status
make[2]: *** [glwrap] Error 1
make[1]: *** [CMakeFiles/glwrap.dir/all] Error 2
make: *** [all] Error 2
*** Failed ***
我的代码是一个简单的 opengl 文件:
#include <GL/gl.h>
#include <GL/glu.h>
#include <GL/glut.h>
#include <cassert>
using namespace std;
int main(int argC, char **argV)
{
glutInit(&argC, argV);
}
我当然可以从我的命令行 Makefile 编译该文件,但不能从 kDevelop 编译。我试过设置 CMakeList(虽然我是新手,但我通常只使用 Makefiles)。与 kDev 项目关联的 CMakeList 如下所示:
cmake_minimum_required(VERSION 2.8)
project(glwrap)
set(CMAKE_CXX_FLAGS "-lglut -lGLU -lGL -I/path/to/the/include/dir")
include_directories( /usr/include )
include_directories( /usr/lib )
include_directories( /usr/include )
link_directories( /usr/lib64 )
link_directories( /usr/lib32 )
add_executable(glwrap main.cpp)
install(TARGETS glwrap RUNTIME DESTINATION bin)
是否需要从 GUI 设置任何特定内容?