最近使用mingw编译了一份boost静态库,在CMake编译成.exe程序发布后,发现仍旧提示缺乏DLL文件。提示缺失的DLL文件大概以下:c++
libgcc*.dll libstdc++*.dll libwinpthread-1.dll
通过简单摸索以后,终于找到了解决方法。网络
#须要在CMakeLists.txt添加如下内容 #设置静态编译 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -static") #连接静态库 #连接boost静态库(project_Name为你的项目名,*分别表明库名、mingw版本号、boost库版本号,如:libboost_system-mgw72-mt-s-1_65_1.a) target_link_libraries(project_Name libboost_*-mgw*-mt-s-*.a) #连接gcc-g++静态库 target_link_libraries(project_Name libgcc.a) target_link_libraries(project_Name libstdc++.a) #连接网络库(如须要) target_link_libraries(project_Name ws2_32) #连接线程库(必须放到最后) target_link_libraries(project_Name libpthread.a)