2017-11-30 1 views
0

CUDA 프로젝트는 2013 년 이후에 Visual Studio에서 -m32 (32 비트) 옵션으로 빌드하지 않습니다. 따라서 다음과 같이 NVCC 플래그에 -m64 플래그를 추가하려고 시도했습니다 :이미 설정되어있는 경우 CMake에서 플래그 값을 변경하십시오.

find_package(CUDA) 
... 
set(CUDA_NVCC_FLAGS "${CUDA_NVCC_FLAGS} -m64") 
... 

는하지만이 자세한 NVCC이 오류에 이르게 모두 -m32 및 -m64 플래그를 사용하여 구축에 충분

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

물론 오류로 이어집니다. CUDA_NVCC_FLAGS 변수에서 기존 -m32 플래그를 수정/제거하려면 어떻게합니까? ?

+0

'내가 수정하는 방법을 /를 CUDA_NVCC_FLAGS 변수에 기존 -m32 플래그를 제거를'- 플래그가'CUDA_NVCC_FLAGS' 변수에 포함되어있는 경우 제거/바꾸기 위해 [string (REPLACE)] (https://cmake.org/cmake/help/v3.7/command/string.html#id4)를 사용할 수 있습니다. – Tsyvarev

+5

[변수의 특정 부분 제거] (https://stackoverflow.com/questions/46740873/remove-specific-part-of-variable)의 가능한 복제본 – Murphy

답변

1

당신은 같은 것을 시도 할 수 있습니다 :

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

string(REPLACE)

관련 문제