gcc - 覆盖 nvcc 的标头搜索顺序
问题描述
我有一个使用Thrust的 CUDA 项目。Thrust 随 CUDA Toolkit 一起提供,但我想使用我检查过的更新版本。
我调用nvcc
with-isystem=/path/to/thrust
但底层编译器调用看起来像
gcc ... "-I/usr/local/cuda-10.1/bin/../targets/x86_64-linux/include" -isystem "/path/to/thrust"
由于 gcc 从左到右搜索目录,这意味着首先找到 Toolkit 的 Thrust 标头。
我可以在不修改 CUDA 工具包或编写编译器包装脚本的情况下覆盖此行为以首先找到我的 Thrust 结帐吗?
解决方案
我只需要使用-I
而不是-isystem
.
我还了解到,这-Xcompiler --foo,--bar
允许我在需要时注入其他参数。
推荐阅读
- css - LinearProgress 栏正在接管整个提示
- boost - 如何使用 lldb 将数据成员 char 数组漂亮地打印为字符串(如在 boost::static_string 中)?
- html - 在 HTML/CSS 中制作响应式表格
- kotlin - 为什么 Kotlin 多平台项目的 commonMain 可以访问 kotlin.jvm 包?
- php - 使用 PrestaShop 中的 ps_linklist 模块创建链接?
- python - 在数据帧的每一行上应用函数并同时增加一个计数器
- xml - 递归遍历节点的 RML 映射,每次都附加父属性
- linux - 如何连续 grep 日志文件并使用单行命令打印到 shell
- swift - 在 UITesting 中获取 SKProducts
- javascript - 如何将内联 CSS 添加到使用 Javascript 动态创建的元素?