Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/127.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 更改CMake中的标志值(如果已设置)_C++_Cmake_Cuda - Fatal编程技术网

C++ 更改CMake中的标志值(如果已设置)

C++ 更改CMake中的标志值(如果已设置),c++,cmake,cuda,C++,Cmake,Cuda,CUDA项目在2013年之后不会在Visual Studio中使用-m32(32位)选项生成。因此,我尝试将-m64标志添加到NVCC标志,如下所示: find_package(CUDA) ... set(CUDA_NVCC_FLAGS "${CUDA_NVCC_FLAGS} -m64") ... 但这导致了错误 nvcc fatal : redefinition of argument 'machine' // machine refers to -m 确实,在详细构建中,NVCC同时

CUDA项目在2013年之后不会在Visual Studio中使用-m32(32位)选项生成。因此,我尝试将-m64标志添加到NVCC标志,如下所示:

find_package(CUDA)
...
set(CUDA_NVCC_FLAGS "${CUDA_NVCC_FLAGS} -m64")
...
但这导致了错误

nvcc fatal   : redefinition of argument 'machine' // machine refers to -m

确实,在详细构建中,NVCC同时使用-m32和-m64标志,这导致了此错误。如何修改/删除CUDA_NVCC_FLAGS变量中现有的-m32标志?

您可以尝试以下操作:

string(REPLACE -m32 -m64 CUDA_NVCC_FLAGS "${CUDA_NVCC_FLAGS}")

如何修改/删除CUDA\U NVCC\U FLAGS变量中现有的-m32标志?
-如果该标志包含在
CUDA\U NVCC\U FLAGS
变量中,您可以使用该标志来删除/替换它。该标志可能重复