我發現CUDA在我的mac上無法在64位模式下工作(或者目前無法運行它)。所以我決定編譯一切爲32位。cmake,gcc,cuda和-m32
我使用的cmake 2.8,並添加下列選項
add_definitions(-Wall -m32)
set(CUDA_64_BIT_DEVICE_CODE OFF)
set(CMAKE_MODULE_LINKER_FLAGS -m32)
但是當它試圖它確實是這樣的鏈接吧:
/usr/bin/c++ -mmacosx-version-min=10.6 -Wl,-search_paths_first -headerpad_max_install_names CMakeFiles/SimpleTestsCUDA.dir/BlockMatrix.cpp.o CMakeFiles/SimpleTestsCUDA.dir/Matrix.cpp.o ./SimpleTestsCUDA_generated_SimpleTests.cu.o ./SimpleTestsCUDA_generated_BlockMatrix.cu.o -o SimpleTestsCUDA /usr/local/cuda/lib/libcudart.dylib /usr/local/cuda/lib/libcuda.dylib
哪些失敗了很多的「文件不所需架構「的警告來自ld。現在,如果我手動添加-m32到上面的命令它工作。然而,我不知道如何教cmake爲每個gcc(或ld)調用添加-m32。到目前爲止,它會爲NVCC和gcc,而不是鏈接..
想通了,它的工作原理,如果我的cmake調用與以下標誌: -DCMAKE_C_FLAGS = -m32 --DCMAKE_CXX_FLAGS = -m32 – Nils 2010-04-11 15:33:07
我想我想通了.. 集(CMAKE_C_FLAGS -m32) 集(CMAKE_CXX_FLAGS -m32) – Nils 2010-04-11 15:50:06