Clion使用MinGW编译好的boost库

本文详细介绍如何使用CMake在Windows环境下配置并链接Boost静态库,包括设置CMake最低版本、项目标准、安装前缀、Boost库路径及类型,通过find_package定位Boost,并根据不同构建类型选择静态库。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MinGW编译Boost库可以参考我之前写的编译Boost的文章。

以下是cmake链接boost静态库的配置:

 1 cmake_minimum_required(VERSION 3.8)
 2 
 3 project(clions)
 4 
 5 set(CMAKE_CXX_STANDARD 14)
 6 set(CMAKE_INSTALL_PREFIX ${CMAKE_CURRENT_SOURCE_DIR}/Install CACHE PATH "Install here" FORCE)
 7 
 8 set (Boost_USE_STATIC_LIBS ON) # enable dynamic linking
 9 set (Boost_USE_MULTITHREAD ON)  # enable multithreading
10 
11 # windows 下设置这两个路径,find_package才能找到Boost
12 SET(CMAKE_INCLUDE_PATH ${CMAKE_INCLUDE_PATH} "D:/MathxH/3rd-party/boost_1_67_0/bin/static/include/boost-1_67")
13 SET(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH} "D:/MathxH/3rd-party/boost_1_67_0/bin/static/lib")
14 
15 
16 
17 find_package(Boost)
18 
19 if(NOT Boost_FOUND)
20     message("not found boost package")
21 else()
22     message("found boost package")
23     include_directories(${Boost_INCLUDE_DIR})
24     LINK_DIRECTORIES(${CMAKE_LIBRARY_PATH})
25   ## ADD_DEFINITIONS("-DHAS_BOOST")
26 
27     message("includes: ${Boost_INCLUDE_DIRS}") # 这个可以打印出值来
28     message("libs: ${Boost_LIBRARIES}") #这个变量在windows下找不到,为空
29 endif()
30 
31 if(USE_32BITS)
32    message("build x86 target")
33    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m32")
34 else()
35     message("build x64 target")
36     set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m64")
37 endif(USE_32BITS)
38 
39 add_executable(clions main.cpp)
40 
41 if(Boost_FOUND)
42 
43     if(CMAKE_BUILD_TYPE MATCHES "Debug")
44         message("linking debug lib")
45         target_link_libraries(clions libboost_filesystem-mgw81-mt-sd-x64-1_67.a libboost_system-mgw81-mt-sd-x64-1_67.a)
46     endif()
47 
48     if(CMAKE_BUILD_TYPE MATCHES "Release")
49         message("linking release lib")
50         target_link_libraries(clions libboost_filesystem-mgw81-mt-s-x64-1_67.a libboost_system-mgw81-mt-s-x64-1_67.a)
51     endif()
52 
53 endif()
54 
55 install(TARGETS clions DESTINATION debug CONFIGURATIONS Debug)
56 install(TARGETS clions DESTINATION release CONFIGURATIONS Release)

如果配置好Clion的ToolChain,它会自动运行以下cmake命令行,生成makefile:

cmake.exe -DCMAKE_BUILD_TYPE=Release -DUSE_32BITS=0 -DBOOST_ROOT=D:\MathxH\3rd-party\boost_1_67_0\bin\static -DBOOST_LIBRARYDIR=D:\MathxH\3rd-party\boost_1_67_0\bin\static\lib -G "CodeBlocks - MinGW Makefiles" D:\clions

references:
https://www.cnblogs.com/magic-428/p/9144492.html
https://www.jetbrains.com/help/clion/2018.1/quick-cmake-tutorial.html?utm_campaign=CL&utm_content=2018.1&utm_medium=link&utm_source=product#d323175e256
https://cmake.org/cmake/help/v3.10/command/find_package.html
https://cmake.org/cmake/help/v3.0/module/FindBoost.html
https://stackoverflow.com/questions/6646405/how-do-you-add-boost-libraries-in-cmakelists-txt



 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值