Как заставить cmake статически связать MSVCR.dll в Windows XP? - PullRequest
0 голосов
/ 27 апреля 2010

В настоящее время это динамическое связывание, что доставляет мне много хлопот ( отсутствует msvcr80.dll ).

Как мне дать команду cmake связать его статически?

Ответы [ 2 ]

1 голос
/ 06 июля 2012

Вот что я делаю для своих проектов:

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()
0 голосов
/ 23 мая 2010
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /MTd")
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /MT")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...