2017-11-30 23 views
0

CUDAプロジェクトは、2013年以降のVisual Studioで-m32(32ビット)オプションでビルドされません。したがって、-m64フラグをNVCCフラグに追加してみました。既に設定されている場合、CMakeのフラグ値を変更してください

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フラグを変更/削除するにはどうすればよいですか?

+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)

関連する問題