Actuellement, il est en train de le relier dynamiquement, causant beaucoup de problèmes pour moi (manquant msvcr80.dll).Comment forcer cmake à lier MSVCR.dll statiquement dans Windows XP?
Comment devrais-je demander à cmake de lier statiquement?
Actuellement, il est en train de le relier dynamiquement, causant beaucoup de problèmes pour moi (manquant msvcr80.dll).Comment forcer cmake à lier MSVCR.dll statiquement dans Windows XP?
Comment devrais-je demander à cmake de lier statiquement?
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /MTd")
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /MT")
C'est ce que je fais pour mes projets:
set (BUILD_SHARED_LIBS FALSE) # should force the libraries to be static if (WIN32) if (${CMAKE_GENERATOR} MATCHES "Visual Studio 9 2008") # for some reasons VS 9 generator doesn't overwrite the flags # but generator VS 2010 does if (BUILD_SHARED_LIBS) set (CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -MDd") set (CMAKE_CXX_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -MDd") set (CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -MD") set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -MD") else() set (CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -MTd") set (CMAKE_CXX_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -MTd") set (CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -MT") set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -MT") endif() endif() # other windows specific flags endif()