我有一个同时启用了CXX
和CUDA
的项目:
project(my_proj LANGUAGES CXX CUDA)
字符串
我正在链接一个第三方库,它使用另一个第三方库(Eigen
)作为依赖项。我在构建时打开了警告。当构建*.cpp
文件时,我没有警告,但当构建*.cu
时,Eigen
内部发出警告。我试图遵循这里的建议-CMake: target_link_libraries include as SYSTEM to suppress compiler warnings-但它不能解决问题。
1条答案
按热度按时间koaltpgm1#
对于CMake 3.8及更高版本,CUDA是一种一流的语言(即使支持是粗糙的边缘)。因此,使CUDA编译器表现不同的方法本质上与C或C++等编译器相同:
字符串
假设您的CUDA编译器是NVCC,相关标志可能是
-w
以禁用所有警告,或-Wnofoo
以禁用名为foo
的警告。现在,如果您正在使用自己的
CMakeLists.txt
构建Eigen,那么您可以修改它,或者报告Eigen的bug,让它的开发人员解决这个问题。另请参阅以下CMake文档页面:
target_compiler_options
个CMAKE_<LANG>_FLAGS
个