首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >KDevelop4链接到外部库

KDevelop4链接到外部库
EN

Stack Overflow用户
提问于 2013-05-10 03:03:06
回答 1查看 3.1K关注 0票数 0

我正在尝试与Gcc一起设置KDevelop,但是我无法让它正确地链接到外部库。我得到以下错误:

代码语言:javascript
复制
/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文件:

代码语言:javascript
复制
#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)。与CMakeList项目相关联的kDev如下所示:

代码语言:javascript
复制
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中设置的特定信息吗?

EN

回答 1

Stack Overflow用户

发布于 2013-05-11 15:37:12

我不是CMake专家,但我相信您的问题是,CMake需要一些帮助才能找到过剩的内容。可能有效的两种解决办法是:

  1. 自己找到它们,并在程序的include_directories( )文件中插入额外的显式CMakeList命令。
  2. (这使用了CMake系统的一个强大功能。)使用CMake FindGLUT命令。(查看CMake文档以了解FindXXX的使用情况。)CMake会为你寻找过剩的文件。

在任何一种情况下,在向CMakeList文件中插入更改后,都应该在KDevelop4项目菜单中运行配置命令。CMake将执行CMakeLIst更改并报告是否找到了过剩文件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16474518

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档