or-tools编译命令自用备注

cmake .. -G "Visual Studio 17 2022" -A Win32        //vs2022

cmake .. -G "Visual Studio 15 2017" -A Win32         //vs2017

-DBUILD_DEPS=ON         //联网下载

-DCMAKE_INSTALL_PREFIX=install         //带安装命令

-DCMAKE_CXX_FLAGS="/utf-8"          //强制使用 UTF-8 编码

//编译

cmake --build . --config Release

//安装

cmake --install . --config Release

# 设置 HTTP/HTTPS 代理(替换为你的代理地址和端口)
set http_proxy=http://127.0.0.1:1080
set https_proxy=http://127.0.0.1:1080

在命令提示符(CMD)中:

  1. 查看 http_proxy 环境变量

    echo %http_proxy%
  2. 查看 https_proxy 环境变量(如果也设置了):

    echo %https_proxy%

//查看git clone是否能用

git clone https://hub.fastgit.org/madler/zlib.git

解决D040:创建子进程或与子进程通讯时出错:

cmake --build . --config Release -- /m:1 /p:UseMultiToolTask=true /p:TrackFileAccess=false
  • ​**/p:TrackFileAccess=false**:禁用文件访问追踪,减少防病毒软件干扰。
  • /p:UseMultiToolTask=true**:优化单线程模式下的任务调度策略,解决进程通信错误

编译器优化 + 指定编码:

-DCMAKE_CXX_FLAGS="/O1 /utf-8" 

完整示例:

cmake .. -G "Visual Studio 15 2017" -A Win32 -DCMAKE_CXX_STANDARD=11 -DBUILD_DEPS=ON -DBUILD_PYTHON=OFF -DCMAKE_INSTALL_PREFIX=install -DCMAKE_CXX_FLAGS="/O1 /utf-8" 

# 强制指定调试运行时库(MDd)
cmake .. -G "Visual Studio 17 2022" -A Win32 ^
  -DCMAKE_BUILD_TYPE=Debug ^
  -DCMAKE_CXX_FLAGS_DEBUG="/MDd /D_ITERATOR_DEBUG_LEVEL=0"

2. 配置 CMake 生成 Debug 版库

运行以下命令生成支持 MDd 的编译配置:

mkdir build && cd build
cmake .. -G "Visual Studio 17 2022" -A x64 ^
    -DCMAKE_BUILD_TYPE=Debug ^
    -DCMAKE_MSVC_RUNTIME_LIBRARY="MultiThreadedDebugDLL" ^
    -DBUILD_DEPS=ON ^
    -DUSE_SCIP=OFF

参数详解:​

  • -G "Visual Studio 17 2022": 指定 VS2022 生成器(与您的开发环境一致)
  • -A x64: 编译 x64 架构
  • -DCMAKE_BUILD_TYPE=Debug: 生成调试版本(强制启用 MDd 和 _DEBUG 宏)
  • -DCMAKE_MSVC_RUNTIME_LIBRARY="MultiThreadedDebugDLL": 强制使用 MDd 运行时库
  • -DBUILD_DEPS=ON: 自动编译依赖库(如 Protobuf)并统一使用 MDd
  • -DUSE_SCIP=OFF: 禁用 SCIP 支持(可选,减少编译时间)

3. 编译 or-tools 库
  1. 打开生成的 or-tools.sln 解决方案文件。
  2. 在 Visual Studio 顶部选择 ​**Debug 配置**。
  3. 右键解决方案 → ​生成解决方案

4. 验证编译结果

使用 dumpbin 检查库文件是否匹配 MDd

dumpbin /DIRECTIVES or-tools-9.6\build\lib\ortools.lib | findstr "RuntimeLibrary"

预期输出:​

/DEFAULTLIB:MSVCRTD    # 表示使用 MDd 运行时库

 最后基本的cmake编译:

Windows下:Linux不需要指定编译器

mkdir build_x86 && cd build_x86

cmake .. -G "Visual Studio 17 2022" -A Win32 -DBUILD_DEPS=ON(联网下载)-DCMAKE_INSTALL_PREFIX=install(安装)

cmake --build . --config Release(编译)

cmake --install . --config Release(安装)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值