我对Linux还比较陌生(使用的是Ubuntu 14.04 LTS 64位),之前一直在用Windows系统。现在我正在尝试将我的一个现有CUDA项目移植到Linux上。
当进行链接时,使用以下命令:
/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
答案:答案似乎与此帖子中的解决方案密切相关(Strange linking error: DSO missing from command line),但鉴于我在Linux方面的经验不足,无法将它们适应到自己的问题上。
任何关于问题可能是什么的想法吗?
这是编译期间的完整输出:https://gist.github.com/wbolden/857eddd11e4dcb915c02
这是我尝试创建的Makefile:https://gist.github.com/wbolden/135033daae04ed0d8cf3