cmake静态编译 解决找不到 xxx.dll问题

luckyFang 2021年02月20日 66次浏览

问题

image.png

原因

因为cmake默认编译不是静态编译,客户电脑上没有c++运行库运行程序时。就会触发找不到 xxx.dll问题。

解决

CMakeLists.txt中添加。

set(CMAKE_EXE_LINKER_FLAGS "-static")

即可解决.

示例CMakeLists.txt

cmake_minimum_required(VERSION 3.0.0)
set(CMAKE_EXE_LINKER_FLAGS "-static")
project(c_kms VERSION 0.1.0)

include(CTest)
enable_testing()

add_executable(c_kms main.cpp)

set(CPACK_PROJECT_NAME ${PROJECT_NAME})
set(CPACK_PROJECT_VERSION ${PROJECT_VERSION})
include(CPack)