You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Windows平台编译生成32位NLopt库DLL文件?

解决MSYS2下MinGW编译NLopt 32位DLL的问题
  • 必须使用MinGW32终端开展操作,不要用MSYS2终端或MinGW64终端,终端环境直接决定默认工具链的位数。
  • 在MinGW32终端内安装32位完整工具链及CMake:
    pacman -S --needed base-devel mingw-w64-i686-toolchain mingw-w64-i686-cmake
    
  • 清理源码目录的旧构建缓存:删除源码文件夹下的CMakeCache.txt文件和build目录(如果存在),避免64位配置残留干扰编译。
  • 进入NLopt源码目录,执行32位专属的CMake配置和编译:
    cmake -G "MSYS Makefiles" -DCMAKE_C_COMPILER=i686-w64-mingw32-gcc -DCMAKE_CXX_COMPILER=i686-w64-mingw32-g++ .
    make
    

原理说明:之前生成64位DLL是因为终端环境默认调用了64位工具链,即使安装了32位工具链,若不指定编译器或用错终端,CMake仍会沿用之前的配置或默认64位工具。通过明确指定32位编译器路径,可强制CMake生成32位目标文件。

内容的提问来源于stack exchange,提问作者Rolf Fankhauser

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 05:55:16