Compilation et liaison de bibliothèque statique avec CUDA/C++
Bonjour à tous,
Je dois créer un projet CMake composé des projets suivants :
- Projet principale qui utilisera les deux bibliothèques statiques qui suivent
- Une première bibliothèque avec des kernel CUDA compilé en statique
- Une seconde bibliothèque C++ pour effectuer des rendu. Elle utilise GLEW, GLFW et GLM avec une liaison statique
J'ai donc créé mes trois projet avec l'architecture suivante :
- dossier src : contient les sources du projet principale ainsi que le CMakeLists qui inclu les sous-répertoires des bibliothèques
- le dossier src/Process : contient les sources de la bibliothèque CUDA avec le CMakeLists
- le dossier src/Renderer : contient les souces de la bibliothèque de rendu avec le CMakeLists
Le CMakeLists du dossier src est le suivant :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
|
cmake_minimum_required(VERSION "3.12.0")
# Set 64bit plateform
set(CMAKE_GENERATOR_PLATFORM "x64")
set(CMAKE_BUILD_TYPE RELEASE)
# Add VCPKG toolchain
# Tell VCPKG to use static linking
set(VCPKG_TARGET_TRIPLET "x64-windows-static")
set(CMAKE_TOOLCHAIN_FILE "D:/Dev/vcpkg/scripts/buildsystems/vcpkg.cmake")
message(STATUS "Set VCPK toolchain file to use libs: ${CMAKE_TOOLCHAIN_FILE}")
include(${CMAKE_TOOLCHAIN_FILE})
set(VCPKG_VS_CRT_LINKAGE STATIC)
# Set CUDA Flags for all configurations
set(CMAKE_CUDA_FLAGS "")
set(CMAKE_CUDA_FLAGS_DEBUG "")
set(CMAKE_CUDA_FLAGS_RELEASE "")
set(CMAKE_CUDA_FLAGS_RELWITHDEBINFO "")
set(CMAKE_CUDA_FLAGS_MINSIZEREL "")
set(CMAKE_CXX_FLAGS_RELEASE "/NODEFAULTLIB:library")
set(CMAKE_CXX_FLAGS_DEBUG "/NODEFAULTLIB:library")
# Set C++ compiler (VS2017 x64)
set(CMAKE_CXX_COMPILER "C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/bin/Hostx64/x64")
# Set CUDA compiler path
set(
CMAKE_CUDA_COMPILER
"C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v10.1/bin/nvcc.exe"
)
# Set cl.exe path for CUDA
set(
CMAKE_CUDA_HOST_COMPILER
"C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/bin/Hostx64/x64"
)
# Show CMake version
message(STATUS "Cuda/C++ program compilation begin... [CMAKE ${CMAKE_VERSION}]")
# Setup the project with used languages
project("CUDA_TESTS" CUDA CXX)
find_package(CUDA)
# Include subdirectories
add_subdirectory(Renderer)
add_subdirectory(Processor)
# Set source files
set(SRCS
main.cu
)
# Set header files
set(HEADERS
)
# Setup executable
add_executable("${PROJECT_NAME}" ${SRCS} ${HEADERS})
target_link_libraries("${PROJECT_NAME}" libprocessor librenderer) |
Celui de src/Process :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
|
cmake_minimum_required(VERSION "3.12.0")
# Set 64bit plateform
set(CMAKE_GENERATOR_PLATFORM "x64")
set(CMAKE_BUILD_TYPE RELEASE)
# Set CUDA Flags for all configurations
set(CMAKE_CUDA_FLAGS "")
set(CMAKE_CUDA_FLAGS_DEBUG "")
set(CMAKE_CUDA_FLAGS_RELEASE "")
set(CMAKE_CUDA_FLAGS_RELWITHDEBINFO "")
set(CMAKE_CUDA_FLAGS_MINSIZEREL "")
set(CMAKE_CXX_FLAGS_RELEASE "/MT /NODEFAULTLIB:library")
set(CMAKE_CXX_FLAGS_DEBUG "/MTd /NODEFAULTLIB:library")
# Set C++ compiler (VS2017 x64)
set(CMAKE_CXX_COMPILER "C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/bin/Hostx64/x64")
# Set CUDA compiler path
set(
CMAKE_CUDA_COMPILER
"C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v10.1/bin/nvcc.exe"
)
# Set cl.exe path for CUDA
set(
CMAKE_CUDA_HOST_COMPILER
"C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/bin/Hostx64/x64"
)
# Show CMake version
message(STATUS "Generate Processor...")
project(libprocessor CUDA CXX)
# Set source files
set(SRCS
Processor.cu
)
# Set header files
set(HEADERS
Processor.h
)
add_library(libprocessor STATIC ${SRCS} ${HEADERS}) |
Et enfin celui de src/Renderer :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
|
cmake_minimum_required(VERSION "3.12.0")
# Set 64bit plateform
set(CMAKE_GENERATOR_PLATFORM "x64")
set(CMAKE_BUILD_TYPE RELEASE)
# Add VCPKG toolchain
# Tell VCPKG to use static linking
set(VCPKG_TARGET_TRIPLET "x64-windows-static")
set(CMAKE_TOOLCHAIN_FILE "D:/Dev/vcpkg/scripts/buildsystems/vcpkg.cmake")
message(STATUS "Set VCPK toolchain file to use libs: ${CMAKE_TOOLCHAIN_FILE}")
include(${CMAKE_TOOLCHAIN_FILE})
set(VCPKG_VS_CRT_LINKAGE STATIC)
set(CMAKE_CXX_FLAGS_RELEASE "/MT /NODEFAULTLIB:library")
set(CMAKE_CXX_FLAGS_DEBUG "/MTd /NODEFAULTLIB:library")
# Link static libraries
message(STATUS "Find packages :")
find_package(OpenGL REQUIRED)
find_package(GLEW REQUIRED)
find_package(glfw3 CONFIG REQUIRED)
find_package(glm CONFIG REQUIRED)
# Set C++ compiler (VS2017 x64)
set(CMAKE_CXX_COMPILER "C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/bin/Hostx64/x64")
# Show CMake version
message(STATUS "Generate Renderer...")
project(librenderer CUDA CXX)
# Set source files
set(SRCS
Renderer.cpp
)
# Set header files
set(HEADERS
Renderer.h
)
add_library(librenderer STATIC ${SRCS} ${HEADERS})
target_link_libraries(librenderer PUBLIC GLEW::GLEW)
target_link_libraries(librenderer PUBLIC glfw)
target_link_libraries(librenderer PUBLIC glm) |
J'utilise vcpkg pour les bibliothèques C++.
Ces fichiers génèrent parfaitement la solution Visual Studio, le problème survient lorsque je lance la compilation à l'aide de MSBuild. J'obtiens les erreurs suivantes :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97
|
"D:\Dev\cpp\TestCuda\build\CUDA_TESTS.sln" (cible par défaut) (1) ->
"D:\Dev\cpp\TestCuda\build\CUDA_TESTS.vcxproj.metaproj" (cible par défaut) (2) ->
"D:\Dev\cpp\TestCuda\build\CUDA_TESTS.vcxproj" (cible par défaut) (8) ->
(Link cible) ->
librenderer.lib(Renderer.obj) : error LNK2038: discordance dÚtectÚe pour '_ITERATOR_DEBUG_LEVEL'á: la valeur '2' ne c orrespond pas Ó la valeur '0' in main.obj [D:\Dev\cpp\TestCuda\build\CUDA_TESTS.vcxproj]
librenderer.lib(Renderer.obj) : error LNK2038: discordance dÚtectÚe pour 'RuntimeLibrary'á: la valeur 'MTd_StaticDebu g' ne correspond pas Ó la valeur 'MD_DynamicRelease' in main.obj [D:\Dev\cpp\TestCuda\build\CUDA_TESTS.vcxproj]
msvcprt.lib(MSVCP140.dll) : error LNK2005: "public: void __cdecl std::basic_ostream<char,struct std::char_traits<char > >::_Osfx(void)" (?_Osfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAXXZ) dÚjÓ dÚfini(e) dans librenderer.lib(Ren derer.obj) [D:\Dev\cpp\TestCuda\build\CUDA_TESTS.vcxproj]
msvcprt.lib(MSVCP140.dll) : error LNK2005: "public: class std::basic_ostream<char,struct std::char_traits<char> > & _ _cdecl std::basic_ostream<char,struct std::char_traits<char> >::put(char)" (?put@?$basic_ostream@DU?$char_traits@D@std@ @@std@@QEAAAEAV12@D@Z) dÚjÓ dÚfini(e) dans librenderer.lib(Renderer.obj) [D:\Dev\cpp\TestCuda\build\CUDA_TESTS.vcxproj]
msvcprt.lib(MSVCP140.dll) : error LNK2005: "public: class std::basic_ostream<char,struct std::char_traits<char> > & _ _cdecl std::basic_ostream<char,struct std::char_traits<char> >::flush(void)" (?flush@?$basic_ostream@DU?$char_traits@D@ std@@@std@@QEAAAEAV12@XZ) dÚjÓ dÚfini(e) dans librenderer.lib(Renderer.obj) [D:\Dev\cpp\TestCuda\build\CUDA_TESTS.vcxpr oj]
libcpmtd.lib(locale0.obj) : error LNK2038: discordance dÚtectÚe pour '_ITERATOR_DEBUG_LEVEL'á: la valeur '2' ne corre spond pas Ó la valeur '0' in main.obj [D:\Dev\cpp\TestCuda\build\CUDA_TESTS.vcxproj]
libcpmtd.lib(locale0.obj) : error LNK2038: discordance dÚtectÚe pour 'RuntimeLibrary'á: la valeur 'MTd_StaticDebug' n e correspond pas Ó la valeur 'MD_DynamicRelease' in main.obj [D:\Dev\cpp\TestCuda\build\CUDA_TESTS.vcxproj]
libcpmtd.lib(locale0.obj) : error LNK2005: "void __cdecl std::_Facet_Register(class std::_Facet_base *)" (?_Facet_Reg ister@std@@YAXPEAV_Facet_base@1@@Z) dÚjÓ dÚfini(e) dans msvcprt.lib(locale0_implib.obj) [D:\Dev\cpp\TestCuda\build\CUDA _TESTS.vcxproj]
libcpmtd.lib(locale0.obj) : error LNK2005: "private: static class std::locale::_Locimp * __cdecl std::locale::_Getglo ballocale(void)" (?_Getgloballocale@locale@std@@CAPEAV_Locimp@12@XZ) dÚjÓ dÚfini(e) dans msvcprt.lib(MSVCP140.dll) [D:\ Dev\cpp\TestCuda\build\CUDA_TESTS.vcxproj]
libcpmtd.lib(locale0.obj) : error LNK2005: "public: static void __cdecl std::_Locinfo::_Locinfo_ctor(class std::_Loci nfo *,char const *)" (?_Locinfo_ctor@_Locinfo@std@@SAXPEAV12@PEBD@Z) dÚjÓ dÚfini(e) dans msvcprt.lib(MSVCP140.dll) [D:\ Dev\cpp\TestCuda\build\CUDA_TESTS.vcxproj]
libcpmtd.lib(locale0.obj) : error LNK2005: "public: static void __cdecl std::_Locinfo::_Locinfo_dtor(class std::_Loci nfo *)" (?_Locinfo_dtor@_Locinfo@std@@SAXPEAV12@@Z) dÚjÓ dÚfini(e) dans msvcprt.lib(MSVCP140.dll) [D:\Dev\cpp\TestCuda\ build\CUDA_TESTS.vcxproj]
libcpmtd.lib(cout.obj) : error LNK2038: discordance dÚtectÚe pour '_ITERATOR_DEBUG_LEVEL'á: la valeur '2' ne correspo nd pas Ó la valeur '0' in main.obj [D:\Dev\cpp\TestCuda\build\CUDA_TESTS.vcxproj]
libcpmtd.lib(cout.obj) : error LNK2038: discordance dÚtectÚe pour 'RuntimeLibrary'á: la valeur 'MTd_StaticDebug' ne c orrespond pas Ó la valeur 'MD_DynamicRelease' in main.obj [D:\Dev\cpp\TestCuda\build\CUDA_TESTS.vcxproj]
libcpmtd.lib(cout.obj) : error LNK2005: "public: void __cdecl std::basic_ios<char,struct std::char_traits<char> >::se tstate(int,bool)" (?setstate@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAXH_N@Z) dÚjÓ dÚfini(e) dans msvcprt.lib(MSVCP 140.dll) [D:\Dev\cpp\TestCuda\build\CUDA_TESTS.vcxproj]
libcpmtd.lib(cout.obj) : error LNK2005: "public: char __cdecl std::basic_ios<char,struct std::char_traits<char> >::wi den(char)const " (?widen@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBADD@Z) dÚjÓ dÚfini(e) dans msvcprt.lib(MSVCP140.dl l) [D:\Dev\cpp\TestCuda\build\CUDA_TESTS.vcxproj]
libcpmtd.lib(locale.obj) : error LNK2038: discordance dÚtectÚe pour '_ITERATOR_DEBUG_LEVEL'á: la valeur '2' ne corres pond pas Ó la valeur '0' in main.obj [D:\Dev\cpp\TestCuda\build\CUDA_TESTS.vcxproj]
libcpmtd.lib(locale.obj) : error LNK2038: discordance dÚtectÚe pour 'RuntimeLibrary'á: la valeur 'MTd_StaticDebug' ne correspond pas Ó la valeur 'MD_DynamicRelease' in main.obj [D:\Dev\cpp\TestCuda\build\CUDA_TESTS.vcxproj]
libcpmtd.lib(locale.obj) : error LNK2005: "public: int __cdecl std::basic_streambuf<char,struct std::char_traits<char > >::sputc(char)" (?sputc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHD@Z) dÚjÓ dÚfini(e) dans msvcprt.lib(MSVC P140.dll) [D:\Dev\cpp\TestCuda\build\CUDA_TESTS.vcxproj]
libcpmtd.lib(iosptrs.obj) : error LNK2038: discordance dÚtectÚe pour '_ITERATOR_DEBUG_LEVEL'á: la valeur '2' ne corre spond pas Ó la valeur '0' in main.obj [D:\Dev\cpp\TestCuda\build\CUDA_TESTS.vcxproj]
libcpmtd.lib(iosptrs.obj) : error LNK2038: discordance dÚtectÚe pour 'RuntimeLibrary'á: la valeur 'MTd_StaticDebug' n e correspond pas Ó la valeur 'MD_DynamicRelease' in main.obj [D:\Dev\cpp\TestCuda\build\CUDA_TESTS.vcxproj]
libcpmtd.lib(nothrow.obj) : error LNK2038: discordance dÚtectÚe pour '_ITERATOR_DEBUG_LEVEL'á: la valeur '2' ne corre spond pas Ó la valeur '0' in main.obj [D:\Dev\cpp\TestCuda\build\CUDA_TESTS.vcxproj]
libcpmtd.lib(nothrow.obj) : error LNK2038: discordance dÚtectÚe pour 'RuntimeLibrary'á: la valeur 'MTd_StaticDebug' n e correspond pas Ó la valeur 'MD_DynamicRelease' in main.obj [D:\Dev\cpp\TestCuda\build\CUDA_TESTS.vcxproj]
libcpmtd.lib(xlock.obj) : error LNK2038: discordance dÚtectÚe pour '_ITERATOR_DEBUG_LEVEL'á: la valeur '2' ne corresp ond pas Ó la valeur '0' in main.obj [D:\Dev\cpp\TestCuda\build\CUDA_TESTS.vcxproj]
libcpmtd.lib(xlock.obj) : error LNK2038: discordance dÚtectÚe pour 'RuntimeLibrary'á: la valeur 'MTd_StaticDebug' ne
correspond pas Ó la valeur 'MD_DynamicRelease' in main.obj [D:\Dev\cpp\TestCuda\build\CUDA_TESTS.vcxproj]
libcpmtd.lib(xlock.obj) : error LNK2005: "public: __cdecl std::_Lockit::_Lockit(int)" (??0_Lockit@std@@QEAA@H@Z) dÚjÓ dÚfini(e) dans msvcprt.lib(MSVCP140.dll) [D:\Dev\cpp\TestCuda\build\CUDA_TESTS.vcxproj]
libcpmtd.lib(xlock.obj) : error LNK2005: "public: __cdecl std::_Lockit::~_Lockit(void)" (??1_Lockit@std@@QEAA@XZ) dÚj Ó dÚfini(e) dans msvcprt.lib(MSVCP140.dll) [D:\Dev\cpp\TestCuda\build\CUDA_TESTS.vcxproj]
libcpmtd.lib(xthrow.obj) : error LNK2038: discordance dÚtectÚe pour '_ITERATOR_DEBUG_LEVEL'á: la valeur '2' ne corres pond pas Ó la valeur '0' in main.obj [D:\Dev\cpp\TestCuda\build\CUDA_TESTS.vcxproj]
libcpmtd.lib(xthrow.obj) : error LNK2038: discordance dÚtectÚe pour 'RuntimeLibrary'á: la valeur 'MTd_StaticDebug' ne correspond pas Ó la valeur 'MD_DynamicRelease' in main.obj [D:\Dev\cpp\TestCuda\build\CUDA_TESTS.vcxproj]
libcpmtd.lib(xthrow.obj) : error LNK2005: "void __cdecl std::_Xbad_alloc(void)" (?_Xbad_alloc@std@@YAXXZ) dÚjÓ dÚfini (e) dans msvcprt.lib(MSVCP140.dll) [D:\Dev\cpp\TestCuda\build\CUDA_TESTS.vcxproj]
libcpmtd.lib(xthrow.obj) : error LNK2005: "void __cdecl std::_Xlength_error(char const *)" (?_Xlength_error@std@@YAXP EBD@Z) dÚjÓ dÚfini(e) dans msvcprt.lib(MSVCP140.dll) [D:\Dev\cpp\TestCuda\build\CUDA_TESTS.vcxproj]
libcpmtd.lib(ios.obj) : error LNK2038: discordance dÚtectÚe pour '_ITERATOR_DEBUG_LEVEL'á: la valeur '2' ne correspon d pas Ó la valeur '0' in main.obj [D:\Dev\cpp\TestCuda\build\CUDA_TESTS.vcxproj]
libcpmtd.lib(ios.obj) : error LNK2038: discordance dÚtectÚe pour 'RuntimeLibrary'á: la valeur 'MTd_StaticDebug' ne co rrespond pas Ó la valeur 'MD_DynamicRelease' in main.obj [D:\Dev\cpp\TestCuda\build\CUDA_TESTS.vcxproj]
libcpmtd.lib(wlocale.obj) : error LNK2038: discordance dÚtectÚe pour '_ITERATOR_DEBUG_LEVEL'á: la valeur '2' ne corre spond pas Ó la valeur '0' in main.obj [D:\Dev\cpp\TestCuda\build\CUDA_TESTS.vcxproj]
libcpmtd.lib(wlocale.obj) : error LNK2038: discordance dÚtectÚe pour 'RuntimeLibrary'á: la valeur 'MTd_StaticDebug' n e correspond pas Ó la valeur 'MD_DynamicRelease' in main.obj [D:\Dev\cpp\TestCuda\build\CUDA_TESTS.vcxproj]
libcpmtd.lib(xlocale.obj) : error LNK2038: discordance dÚtectÚe pour '_ITERATOR_DEBUG_LEVEL'á: la valeur '2' ne corre spond pas Ó la valeur '0' in main.obj [D:\Dev\cpp\TestCuda\build\CUDA_TESTS.vcxproj]
libcpmtd.lib(xlocale.obj) : error LNK2038: discordance dÚtectÚe pour 'RuntimeLibrary'á: la valeur 'MTd_StaticDebug' n e correspond pas Ó la valeur 'MD_DynamicRelease' in main.obj [D:\Dev\cpp\TestCuda\build\CUDA_TESTS.vcxproj]
libcpmtd.lib(xlocale.obj) : error LNK2005: "public: int __cdecl std::basic_streambuf<char,struct std::char_traits<cha r> >::sputc(char)" (?sputc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHD@Z) dÚjÓ dÚfini(e) dans msvcprt.lib(MSV CP140.dll) [D:\Dev\cpp\TestCuda\build\CUDA_TESTS.vcxproj]
libcpmtd.lib(xdateord.obj) : error LNK2038: discordance dÚtectÚe pour '_ITERATOR_DEBUG_LEVEL'á: la valeur '2' ne corr espond pas Ó la valeur '0' in main.obj [D:\Dev\cpp\TestCuda\build\CUDA_TESTS.vcxproj]
libcpmtd.lib(xdateord.obj) : error LNK2038: discordance dÚtectÚe pour 'RuntimeLibrary'á: la valeur 'MTd_StaticDebug'
ne correspond pas Ó la valeur 'MD_DynamicRelease' in main.obj [D:\Dev\cpp\TestCuda\build\CUDA_TESTS.vcxproj]
libcpmtd.lib(winapisupp.obj) : error LNK2038: discordance dÚtectÚe pour '_ITERATOR_DEBUG_LEVEL'á: la valeur '2' ne co rrespond pas Ó la valeur '0' in main.obj [D:\Dev\cpp\TestCuda\build\CUDA_TESTS.vcxproj]
libcpmtd.lib(winapisupp.obj) : error LNK2038: discordance dÚtectÚe pour 'RuntimeLibrary'á: la valeur 'MTd_StaticDebug ' ne correspond pas Ó la valeur 'MD_DynamicRelease' in main.obj [D:\Dev\cpp\TestCuda\build\CUDA_TESTS.vcxproj]
libcpmtd.lib(StlCompareStringA.obj) : error LNK2038: discordance dÚtectÚe pour '_ITERATOR_DEBUG_LEVEL'á: la valeur '2 ' ne correspond pas Ó la valeur '0' in main.obj [D:\Dev\cpp\TestCuda\build\CUDA_TESTS.vcxproj]
libcpmtd.lib(StlCompareStringA.obj) : error LNK2038: discordance dÚtectÚe pour 'RuntimeLibrary'á: la valeur 'MTd_Stat icDebug' ne correspond pas Ó la valeur 'MD_DynamicRelease' in main.obj [D:\Dev\cpp\TestCuda\build\CUDA_TESTS.vcxproj]
libcpmtd.lib(winapinls.obj) : error LNK2038: discordance dÚtectÚe pour '_ITERATOR_DEBUG_LEVEL'á: la valeur '2' ne cor respond pas Ó la valeur '0' in main.obj [D:\Dev\cpp\TestCuda\build\CUDA_TESTS.vcxproj]
libcpmtd.lib(winapinls.obj) : error LNK2038: discordance dÚtectÚe pour 'RuntimeLibrary'á: la valeur 'MTd_StaticDebug' ne correspond pas Ó la valeur 'MD_DynamicRelease' in main.obj [D:\Dev\cpp\TestCuda\build\CUDA_TESTS.vcxproj]
libcpmtd.lib(StlCompareStringW.obj) : error LNK2038: discordance dÚtectÚe pour '_ITERATOR_DEBUG_LEVEL'á: la valeur '2 ' ne correspond pas Ó la valeur '0' in main.obj [D:\Dev\cpp\TestCuda\build\CUDA_TESTS.vcxproj]
libcpmtd.lib(StlCompareStringW.obj) : error LNK2038: discordance dÚtectÚe pour 'RuntimeLibrary'á: la valeur 'MTd_Stat icDebug' ne correspond pas Ó la valeur 'MD_DynamicRelease' in main.obj [D:\Dev\cpp\TestCuda\build\CUDA_TESTS.vcxproj]
libcpmtd.lib(StlLCMapStringW.obj) : error LNK2038: discordance dÚtectÚe pour '_ITERATOR_DEBUG_LEVEL'á: la valeur '2'
ne correspond pas Ó la valeur '0' in main.obj [D:\Dev\cpp\TestCuda\build\CUDA_TESTS.vcxproj]
libcpmtd.lib(StlLCMapStringW.obj) : error LNK2038: discordance dÚtectÚe pour 'RuntimeLibrary'á: la valeur 'MTd_Static Debug' ne correspond pas Ó la valeur 'MD_DynamicRelease' in main.obj [D:\Dev\cpp\TestCuda\build\CUDA_TESTS.vcxproj]
libcpmtd.lib(StlLCMapStringA.obj) : error LNK2038: discordance dÚtectÚe pour '_ITERATOR_DEBUG_LEVEL'á: la valeur '2'
ne correspond pas Ó la valeur '0' in main.obj [D:\Dev\cpp\TestCuda\build\CUDA_TESTS.vcxproj]
libcpmtd.lib(StlLCMapStringA.obj) : error LNK2038: discordance dÚtectÚe pour 'RuntimeLibrary'á: la valeur 'MTd_Static Debug' ne correspond pas Ó la valeur 'MD_DynamicRelease' in main.obj [D:\Dev\cpp\TestCuda\build\CUDA_TESTS.vcxproj]
libcpmtd.lib(xlocale.obj) : error LNK2001: symbole externe non rÚsolu _invalid_parameter [D:\Dev\cpp\TestCuda\build\C UDA_TESTS.vcxproj]
librenderer.lib(Renderer.obj) : error LNK2001: symbole externe non rÚsolu _invalid_parameter [D:\Dev\cpp\TestCuda\bui ld\CUDA_TESTS.vcxproj]
libcpmtd.lib(cout.obj) : error LNK2001: symbole externe non rÚsolu _invalid_parameter [D:\Dev\cpp\TestCuda\build\CUDA _TESTS.vcxproj]
libcpmtd.lib(locale.obj) : error LNK2001: symbole externe non rÚsolu _invalid_parameter [D:\Dev\cpp\TestCuda\build\CU DA_TESTS.vcxproj]
libcpmtd.lib(wlocale.obj) : error LNK2001: symbole externe non rÚsolu _invalid_parameter [D:\Dev\cpp\TestCuda\build\C UDA_TESTS.vcxproj]
libcpmtd.lib(StlLCMapStringA.obj) : error LNK2001: symbole externe non rÚsolu _free_dbg [D:\Dev\cpp\TestCuda\build\CU DA_TESTS.vcxproj]
libcpmtd.lib(wlocale.obj) : error LNK2001: symbole externe non rÚsolu _free_dbg [D:\Dev\cpp\TestCuda\build\CUDA_TESTS .vcxproj]
libcpmtd.lib(xlocale.obj) : error LNK2001: symbole externe non rÚsolu _free_dbg [D:\Dev\cpp\TestCuda\build\CUDA_TESTS .vcxproj]
libcpmtd.lib(xwcsxfrm.obj) : error LNK2001: symbole externe non rÚsolu _free_dbg [D:\Dev\cpp\TestCuda\build\CUDA_TEST S.vcxproj]
libcpmtd.lib(StlCompareStringA.obj) : error LNK2001: symbole externe non rÚsolu _free_dbg [D:\Dev\cpp\TestCuda\build\ CUDA_TESTS.vcxproj]
librenderer.lib(Renderer.obj) : error LNK2001: symbole externe non rÚsolu _free_dbg [D:\Dev\cpp\TestCuda\build\CUDA_T ESTS.vcxproj]
libcpmtd.lib(locale0.obj) : error LNK2001: symbole externe non rÚsolu _free_dbg [D:\Dev\cpp\TestCuda\build\CUDA_TESTS .vcxproj]
libcpmtd.lib(cout.obj) : error LNK2001: symbole externe non rÚsolu _free_dbg [D:\Dev\cpp\TestCuda\build\CUDA_TESTS.vc xproj]
libcpmtd.lib(locale.obj) : error LNK2001: symbole externe non rÚsolu _free_dbg [D:\Dev\cpp\TestCuda\build\CUDA_TESTS. vcxproj]
libcpmtd.lib(StlLCMapStringA.obj) : error LNK2001: symbole externe non rÚsolu _malloc_dbg [D:\Dev\cpp\TestCuda\build\ CUDA_TESTS.vcxproj]
libcpmtd.lib(wlocale.obj) : error LNK2001: symbole externe non rÚsolu _malloc_dbg [D:\Dev\cpp\TestCuda\build\CUDA_TES TS.vcxproj]
libcpmtd.lib(xlocale.obj) : error LNK2001: symbole externe non rÚsolu _malloc_dbg [D:\Dev\cpp\TestCuda\build\CUDA_TES TS.vcxproj]
libcpmtd.lib(xwcsxfrm.obj) : error LNK2001: symbole externe non rÚsolu _malloc_dbg [D:\Dev\cpp\TestCuda\build\CUDA_TE STS.vcxproj]
libcpmtd.lib(StlCompareStringA.obj) : error LNK2001: symbole externe non rÚsolu _malloc_dbg [D:\Dev\cpp\TestCuda\buil d\CUDA_TESTS.vcxproj]
librenderer.lib(Renderer.obj) : error LNK2001: symbole externe non rÚsolu _malloc_dbg [D:\Dev\cpp\TestCuda\build\CUDA _TESTS.vcxproj]
libcpmtd.lib(locale0.obj) : error LNK2001: symbole externe non rÚsolu _malloc_dbg [D:\Dev\cpp\TestCuda\build\CUDA_TES TS.vcxproj]
libcpmtd.lib(cout.obj) : error LNK2001: symbole externe non rÚsolu _malloc_dbg [D:\Dev\cpp\TestCuda\build\CUDA_TESTS. vcxproj]
libcpmtd.lib(locale.obj) : error LNK2001: symbole externe non rÚsolu _malloc_dbg [D:\Dev\cpp\TestCuda\build\CUDA_TEST S.vcxproj]
libcpmtd.lib(xlocale.obj) : error LNK2001: symbole externe non rÚsolu _CrtDbgReport [D:\Dev\cpp\TestCuda\build\CUDA_T ESTS.vcxproj]
librenderer.lib(Renderer.obj) : error LNK2001: symbole externe non rÚsolu _CrtDbgReport [D:\Dev\cpp\TestCuda\build\CU DA_TESTS.vcxproj]
libcpmtd.lib(cout.obj) : error LNK2001: symbole externe non rÚsolu _CrtDbgReport [D:\Dev\cpp\TestCuda\build\CUDA_TEST S.vcxproj]
libcpmtd.lib(locale.obj) : error LNK2001: symbole externe non rÚsolu _CrtDbgReport [D:\Dev\cpp\TestCuda\build\CUDA_TE STS.vcxproj]
libcpmtd.lib(wlocale.obj) : error LNK2001: symbole externe non rÚsolu _CrtDbgReport [D:\Dev\cpp\TestCuda\build\CUDA_T ESTS.vcxproj]
libcpmtd.lib(locale.obj) : error LNK2019: symbole externe non rÚsolu _calloc_dbg rÚfÚrencÚ dans la fonction "char * _ _cdecl std::_Maklocstr<char>(char const *,char *,struct _Cvtvec const &)" (??$_Maklocstr@D@std@@YAPEADPEBDPEADAEBU_Cvtv ec@@@Z) [D:\Dev\cpp\TestCuda\build\CUDA_TESTS.vcxproj]
libcpmtd.lib(wlocale.obj) : error LNK2001: symbole externe non rÚsolu _calloc_dbg [D:\Dev\cpp\TestCuda\build\CUDA_TES TS.vcxproj]
libcpmtd.lib(xlocale.obj) : error LNK2001: symbole externe non rÚsolu _calloc_dbg [D:\Dev\cpp\TestCuda\build\CUDA_TES TS.vcxproj]
libcpmtd.lib(locale.obj) : error LNK2019: symbole externe non rÚsolu _realloc_dbg rÚfÚrencÚ dans la fonction "private : static void __cdecl std::locale::_Locimp::_Locimp_Addfac(class std::locale::_Locimp *,class std::locale::facet *,unsi gned __int64)" (?_Locimp_Addfac@_Locimp@locale@std@@CAXPEAV123@PEAVfacet@23@_K@Z) [D:\Dev\cpp\TestCuda\build\CUDA_TESTS .vcxproj]
libcpmtd.lib(xstrcoll.obj) : error LNK2019: symbole externe non rÚsolu _wcsdup_dbg rÚfÚrencÚ dans la fonction _Getcol l [D:\Dev\cpp\TestCuda\build\CUDA_TESTS.vcxproj]
libcpmtd.lib(xmbtowc.obj) : error LNK2019: symbole externe non rÚsolu _CrtDbgReportW rÚfÚrencÚ dans la fonction _Mbrt owc [D:\Dev\cpp\TestCuda\build\CUDA_TESTS.vcxproj]
libcpmtd.lib(StlCompareStringA.obj) : error LNK2001: symbole externe non rÚsolu _CrtDbgReportW [D:\Dev\cpp\TestCuda\b uild\CUDA_TESTS.vcxproj]
libcpmtd.lib(StlLCMapStringA.obj) : error LNK2001: symbole externe non rÚsolu _CrtDbgReportW [D:\Dev\cpp\TestCuda\bui ld\CUDA_TESTS.vcxproj]
D:\Dev\cpp\TestCuda\build\Debug\CUDA_TESTS.exe : fatal error LNK1120: 8 externes non rÚsolus [D:\Dev\cpp\TestCuda\bui ld\CUDA_TESTS.vcxproj] |
Des erreurs au niveau de la liaison. J'ai cherché un peu partout mais je ne trouve pas de solution... Je ne vois pas non plus vraiment d'ou cela peut provenir.
Je vous remercie d'avance des solutions que vous pourrez m'apporter !