首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用Qt Creator编译Optix -链接问题

用Qt Creator编译Optix -链接问题
EN

Stack Overflow用户
提问于 2015-03-03 13:33:26
回答 1查看 446关注 0票数 1

我正在尝试用Qt-Creator编译来自Nvidia OptiX SDK的一些示例项目。

我编写了.pro文件并根据自己的需要使用这个帮助用Qt Creator编译Optix!编辑了它

我有完全相同的.pro文件,只是我编辑了CUDA和OptiX的方向,但是我不能完全编译,因为(小片段,但是所有的错误都有相同的原因)

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

可能来源于NVIDIA-OptiX-SDK-X.X.X-linux64/SDK/sutil

但是,如果我注释掉行optix.CONFIG += no_link,则从.cu文件生成的.ptx文件将链接到对象文件。因此,.ptx文件被视为对象文件,Qt给出了语法错误。

总之,optix.CONFIG += no_link提供了未定义的引用,如果没有这一行,编译器将尝试链接.ptx文件并返回语法错误。

代码语言:javascript
复制
/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。这就是为什么我要提前:

代码语言:javascript
复制
LIBS += -lcuda -lcudart -loptix -loptixu -lsutil -L/usr/local/cuda-6.5/lib64 -L/home/Remb/NVIDIA-OptiX-SDK-3.7.0-linux64/lib64
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-05 00:30:04

我自己发现,我忘了添加OptiX的sutils库。以下是我在我的自由联盟中添加的内容:

代码语言:javascript
复制
LIBS += -lcuda -lcudart -loptix -loptixu -lsutil -L/usr/local/cuda-6.5/lib64 -L/home/Remb/NVIDIA-OptiX-SDK-3.7.0-linux64/lib64
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28833136

复制
相关文章

相似问题

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