c++ - 使用 NVCC 编译/链接时,预处理指令 #\ 无效
问题描述
我有一个大型代码库,我试图通过 RAJA 向其中添加 GPU 计算。目前我看到
main.o:24:16: error: invalid preprocessing directive #\
我如何对此进行调查以获取有关此错误可能来自何处的信息?
编译器:
.../cuda-10.1.243/bin/nvcc
相关标志:
CXX = /usr/tce/packages/cuda/cuda-10.1.243/bin/nvcc
LINK = time $(CXX) -std=c++11 \
-DENABLE_RAJA \
-DENABLE_CUDA=On \
-DENABLE_OPENMP=Off \
--expt-extended-lambda \
-x cu \
-arch=sm_70 \
我已经使用了命令
grep -r --include=\*.h --include=\*.cpp --include=\*.o '#\\' *
搜索这个问题可能来自哪里,但我没有得到任何点击。
以下是 Make 输出的一些示例(缩写)
time /usr/tce/packages/cuda/cuda-10.1.243/bin/nvcc -std=c++11 -DENABLE_RAJA -DENABLE_CUDA=On -DENABLE_OPENMP=Off --expt-extended-lambda -x cu -arch=sm_70 -c -I/includestuff main.cpp -o main.o
time /usr/tce/packages/cuda/cuda-10.1.243/bin/nvcc -std=c++11 -DENABLE_RAJA -DENABLE_CUDA=On -DENABLE_OPENMP=Off --expt-extended-lambda -x cu -arch=sm_70 -c -I/includestuff /somepath/Funcs.cpp -o /somepath/Funcs.o
......some other lines like the one above.....
time /usr/tce/packages/cuda/cuda-10.1.243/bin/nvcc -std=c++11 -DENABLE_RAJA -DENABLE_CUDA=On -DENABLE_OPENMP=Off --expt-extended-lambda -x cu -arch=sm_70 main.o ~GIANT LIST OF .o FILES~ -o prog.exe
解决方案
推荐阅读
- mysql - 在实时站点上通过 Golang 连接到 Cloud SQL (MySQL)
- php - 尝试安装 int 扩展 macOS Catalina 和 PHP 7.4.10
- c# - PostSharp 不能从 TargetMembers 中排除方面
- javascript - 左侧赋值无效
- angular - file.html 中的 Angular 插入服务
- ios - 如何将步进值传递给 ViewController?
- angular - RxJS Overwrite Timer/Observable 最佳实践
- javascript - 未在 php 文件中定义的 javascript 函数
- android - 使用资源和资源文件进行 Android 本地化
- text-classification - 分析序列分类的 Bert 输出