假设我有一个文件,我们把它称为foo.cpp
,我的目标是用nvcc编译这个文件在cuda模式。在命令行,这可以通过调用很容易地完成:CMake + Cuda:在Cuda模式下编译cpp文件(--x = cu)
nvcc --x=cu foo.cpp
我挣扎什么,是让CMake的做这同样的事情。事实证明,CMake命令cuda_add_executable(foo foo.cpp)
将过滤* .cpp文件并使用C++编译器(而不是nvcc)。
请注意,将所有文件重命名为* .cu不是一个选项,因为代码库也必须支持非cuda构建。
你可以尝试设置CMAKE g ++编译器并设置它的标志吗? – xhg