gpt4 book ai didi

C++ GL 链接器 undefined reference

转载 作者:行者123 更新时间:2023-11-28 05:44:44 25 4
gpt4 key购买 nike

使用 Ubuntu 14.04,g++,我想将一个项目从 make 移植到 cmake。当我 sudo make install 时出现以下错误。

Linking CXX executable texmapper
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../..
/lib/libplibssg.a(ssgLeaf.o): undefined reference to symbol 'glNewList'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libGL.so:
error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status

与此网站上遇到的许多链接器错误一样。但通常建议的修复方法 "-lGL -lGLU -lglut 不起作用。我还尝试了一些排列组合。

在对 glNewList 的 undefined reference 之前,我有一个对 glPopClientAttrib 的 undefined reference ,我通过添加 lGL 解决了这个问题,如下所示:

set(CMAKE_CXX_FLAGS "-lGL")

所以我走在正确的轨道上,但我却找不到答案。

编辑:完整命令(详细):

/usr/bin/c++   -lGLEW -lGL -lGLU -lglut    CMakeFiles/texmapper.dir/maintexmapper.o CMakeFiles/texmapper.dir/ssgSaveAC.o  -o texmapper -rdynamic -Wl,-Bstatic -lplibsg -lplibssg -lplibul -Wl,-Bdynamic ../../libs/tgf/libtgf.so ../../libs/tgfclient/libtgfclient.so -lglut -lXmu -lXi -lpng -lz -lSM -lICE -lX11 -lXext -lXrandr -Wl,-rpath,/home/jeroen/Thesis/torcsCMAKE/trunk/src/libs/tgf:/home/jeroen/Thesis/torcsCMAKE/trunk/src/libs/tgfclient

最佳答案

使用 CMake,所需的库是使用 target_link_libraries 命令设置的。通常您会使用 find_package(OpenGL) 来收集 OpenGL 开发和库文件的位置,并使用 target_link_libraries 命令的包变量。像这样:

find_package(OpenGL)
add_executable(foo …)
target_link_libraries(foo ${OPENGL_gl_LIBRARY} …)

关于C++ GL 链接器 undefined reference ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36457998/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com