使用Qt Creator编译Optix-链接问题
Compiling Optix with Qt Creator - Linking Issues
我正在尝试用Qt-Creator编译英伟达OptiX SDK提供的一些示例项目。
我编写了.pro文件,并根据自己的需要进行了编辑,这有助于用Qt Creator编译Optix!
我有完全相同的.pro文件,只是我编辑了CUDA和OptiX的方向,但我不能完全编译,因为(小片段,但所有错误都有相同的原因)
/home/Rembold/QTProjects/build-HelloOptix-Desktop-Debug/../HelloOptix/sample1.c:90: undefined reference to `sutilHandleError'
/home/Rembold/QTProjects/build-HelloOptix-Desktop-Debug/../HelloOptix/sample1.c:91: undefined reference to `sutilHandleError'
可能来源于CCD_ 1。
但是,如果我注释掉optix.CONFIG += no_link
行,则从.cu文件生成的.ptx文件将链接到对象文件。因此,.ptx文件被视为对象文件,Qt给了我语法错误。
总之,optix.CONFIG += no_link
给出了未定义的引用,如果没有这一行,编译器将尝试链接.ptx文件并返回语法错误
/usr/bin/ld:ptx/draw_color.cu.ptx: file format not recognized; treating as linker script
/usr/bin/ld:ptx/draw_color.cu.ptx:2: syntax error
Qt中有没有一种方法可以在链接步骤中忽略特定类型的文件,或者我在其他地方有错误?在这两种情况下,构建步骤都会生成正确的.ptx文件(与给定的SDK预编译示例相比)和.o文件。
提前感谢!
编辑:我自己想明白了。错误已经告诉我,我错过了链接一个额外的libary。这就是我必须前进的原因:
LIBS += -lcuda -lcudart -loptix -loptixu -lsutil -L/usr/local/cuda-6.5/lib64 -L/home/Remb/NVIDIA-OptiX-SDK-3.7.0-linux64/lib64
我自己想,我忘了添加OptiX的缝合线库。以下是我在LIBS中添加的内容:
LIBS += -lcuda -lcudart -loptix -loptixu -lsutil -L/usr/local/cuda-6.5/lib64 -L/home/Remb/NVIDIA-OptiX-SDK-3.7.0-linux64/lib64
相关文章:
- 使用jsoncpp库时出现链接问题
- Cmake 链接问题:未定义对 Button::mousePressEvent(QGraphicsSceneMouseE
- 如何将GTest与CMake一起使用?遵循谷歌指南时的链接问题
- 未解决的外部链接问题
- 'make check' GLIBC 运行时的链接问题
- 在树莓派上用libtorch构建程序时的链接问题
- 野牛弹性链接问题
- 与 AWS 开发工具包的链接问题
- Qt & Firebase C++ SDK 在 iOS 上的链接问题
- 链接问题 boost::p ython::numpy.
- 与 32 位共享对象的链接问题
- 在单元测试项目中包括 .c 文件,并从多个 cpp 文件访问它而不会出现链接问题
- 安卓链接问题
- LLVM 传递链接问题:未定义的符号
- Cmake Mac OSX库链接问题:在Linux上进行编译,但在Mac上进行了编译
- 用libclang解析源文件 - 链接问题包括文件
- C / C++链接问题与非常简单的设置
- Zbar 在 vs2015 链接问题
- Vulkan + GLFW + Cmake在Linux环境下的链接问题
- TFS构建由于链接问题而失败