2017-10-09 18 views
0

私はMITKプラットフォームでCUDAを使用しようとしています。私が使っているMITKプラットフォームは、CUDAをサポートしていない2014バージョンです。しかし、私は解決策を示すreplyを見つけましたが、私にとってはうまくいきませんでした。 MITKのCmake構造によると、 "* .cpp"ファイルをfiles.cmakeスクリプトのCPP_FILESフラグに設定すると、gccはソースコードをコンパイルしますが、cudaの場合は変数はありません。したがって、上記のリンクによると、私は修正された "mitkFunctionCreateModule.cmake" files.cmakeでCUDA in MITK Pluginの使い方は?

if (IS_CUDA) 
    find_package(CUDA REQUIRED) 
    set(CUDA_NVCC_FLAGS ${CUDA_NVCC_FLAGS}; -std=c++11) 
    #list(APPEND CUDA_NVCC_FLAGS "-arch=sm_20;-std=c++11;-O2;-DVERBOSE") 
    #SET(CUDA_PROPAGATE_HOST_FLAGS OFF) 
    message ("is_cuda == true") 
    cuda_add_library(${MODULE_TARGET} STATIC ${CUDA_FILES}) 
endif() 

は、私はこれらの行を追加しました:

find_package(CUDA) 
set(CUDA_FILES 
    src/robot/cudafolder/testcuda.cu 
    src/robot/cudafolder/testcuda.h 
) 
set(IS_CUDA true) 
MITK_CREATE_MODULE(my_module 
    DEPENDS MitkCore 
    PACKAGE_DEPENDS Qt5|Core 
    #ADDITIONAL_LIBS abc glew 
) 
libmy_module.aはbinフォルダが、私に作成され

それをメイン実行可能ファイルにリンクすることはできません!

PS:私が直面している最大の問題は、私がtarget_link_librariesを使用できないことです!私が知らない何らかの理由で、このライブラリをメインのMITK exeファイルにリンクすることはできません。この問題では、プラグインモジュールで働く専門家の誰でも私を助けることができますか?

おかげ

答えて

2

は最後に、私はMITKプラグインの中心部にCUDAを追加するための解決策を見つけました。

ソリューションは、その後側CmakeLists.txtで同じパスからこれらの行

TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${MyCudalib} ${CUDA_LIBRARIES} ${CUDA_nppi_LIBRARY}) 

追加 files.cmake

find_package(CUDA) 
set(CUDA_FILES 
    src/robot/cudafolder/testcuda.cu 
    src/robot/cudafolder/testcuda.h) 

set(MyCudalib CudaTestLib) 
set(CUDA_NVCC_FLAGS ${CUDA_NVCC_FLAGS}; -std=c++11) 
cuda_add_library(${MyCudalib} SHARED ${CUDA_FILES}) 

の末尾に次の行を追加することであり、それは私

をのために働きます