链接错误:命令行中缺少 DSO
- 2024-10-30 08:35:00
- admin 原创
- 52
问题描述:
我对 Linux 还不太熟悉(使用 Ubuntu 14.04 LTS 64 位),来自 Windows,正在尝试移植我现有的 CUDA 项目。
当通过链接
/usr/local/cuda/bin/nvcc -arch=compute_30 -code=sm_30,compute_30 -o Main.o Display.o FileUtil.o Timer.o NeuralNetwork.o -L/usr/lib -L/usr/local/lib -L/usr/lib/x86_64-linux-gnu -L/usr/local/cuda/lib64 -lGLEW -lglfw3 -lGL -lGLU -lcuda -lcudart
我遇到以下错误:
/usr/bin/ld: /usr/local/lib/libglfw3.a(x11_clipboard.c.o): undefined reference to symbol 'XConvertSelection'
//usr/lib/x86_64-linux-gnu/libX11.so.6: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make: *** [CUDANN] Error 1
答案似乎与这篇文章中的解决方案密切相关(奇怪的链接错误:命令行中缺少 DSO),但由于我对 Linux 缺乏经验,我无法将它们应用于我自己的问题。
对于可能存在什么问题您有什么想法吗?
以下是编译过程中的完整输出: https: //gist.github.com/wbolden/857eddd11e4dcb915c02
这是我尝试编写的 Makefile:
https://gist.github.com/wbolden/135033daae04ed0d8cf3
解决方案 1:
希望这对那些像我一样刚接触 Linux 并且没有发现任何与 Linux 特别明显相关的东西的人有所帮助。
正如 talonmies 所指出的,我无法间接链接,因此需要指定我使用的库所需的任何其他库。也就是说,如果我链接需要库 B 和 C 的库 A,我需要链接所有三个库才能使程序正确链接。
为了找到所需的其他库,我使用了命令,我在这里pkg-config
找到了指南。运行后得到以下输出,这是 glfw3 所需的包列表。pkg-config --print-requires --print-requires-private glfw3
x11
xrandr
xi
xxf86vm
gl
然后,我可以通过运行 ,然后输入库的名称来找到需要包含的库pkg-config --libs
。例如,pkg-config --libs x11
得到-lX11
。
注意:你可以将多个项目pkg-config
作为输入传递,因此运行
pkg-config --libs $(pkg-config --print-requires --print-requires-private glfw3)
将打印出您需要链接的所有附加库(-lX11 -lXrandr -lXi -lXxf86vm -lGL
)。
我的程序现在链接成功,我希望这对遇到类似问题的人有帮助。
解决方案 2:
你的链接器需要X11库,你需要为链接器指定-lX11
尝试
/usr/local/cuda/bin/nvcc -arch=compute_30 -code=sm_30,compute_30 -o Main.o Display.o FileUtil.o Timer.o NeuralNetwork.o -L/usr/lib -L/usr/local/lib -L/usr/lib/x86_64-linux-gnu -L/usr/local/cuda/lib64 -lGLEW -lglfw3 -lGL -lGLU -lcuda -lcudart -lX11
解决方案 3:
尝试在 Makefile 中的库列表(命令行)末尾添加 -pthread。
它对我有用。
解决方案 4:
使用以下命令修复该问题:
FLAGS=-lX11 ./configure --prefix=/usr --disable-static
make
make install
- 2024年20款好用的项目管理软件推荐,项目管理提效的20个工具和技巧
- 2024年开源项目管理软件有哪些?推荐5款好用的项目管理工具
- 项目管理软件有哪些?推荐7款超好用的项目管理工具
- 项目管理软件哪个最好用?盘点推荐5款好用的项目管理工具
- 项目管理软件有哪些最好用?推荐6款好用的项目管理工具
- 项目管理软件有哪些,盘点推荐国内外超好用的7款项目管理工具
- 2024项目管理软件排行榜(10类常用的项目管理工具全推荐)
- 项目管理软件排行榜:2024年项目经理必备5款开源项目管理软件汇总
- 2024年常用的项目管理软件有哪些?推荐这10款国内外好用的项目管理工具
- 项目管理必备:盘点2024年13款好用的项目管理软件