Windows下vcpkg安装ceres-solver失败求助:obj文件过大
解决MinGW下vcpkg安装ceres-solver时obj文件过大的问题
你的思路完全正确,-Wa,-mbig-obj是MinGW环境下解决目标文件(.obj)体积超限问题的标准方案——这个选项会告诉GCC的汇编器生成支持大尺寸的对象文件,刚好对应你遇到的file too big错误。
下面提供两种配置该编译选项的方法:
方法一:临时通过环境变量传递编译选项
- 打开PowerShell或CMD,先设置环境变量注入编译选项:
# PowerShell 环境 $env:CXXFLAGS="-Wa,-mbig-obj" $env:CFLAGS="-Wa,-mbig-obj"# CMD 环境 set CXXFLAGS=-Wa,-mbig-obj set CFLAGS=-Wa,-mbig-obj - 执行vcpkg安装命令(根据你的需求调整triplet,比如
x64-mingw-dynamic):vcpkg install ceres-solver --triplet=x64-mingw-static
方法二:修改vcpkg端口配置(永久生效)
- 找到vcpkg目录下的
ports/ceres-solver文件夹 - 打开其中的
portfile.cmake,在vcpkg_cmake_configure指令之前添加以下代码:if(VCPKG_TARGET_IS_MINGW) string(APPEND VCPKG_CXX_FLAGS " -Wa,-mbig-obj") string(APPEND VCPKG_C_FLAGS " -Wa,-mbig-obj") endif() - 保存文件后,重新运行vcpkg安装命令即可。
内容的提问来源于stack exchange,提问作者kou
相关产品推荐
相关产品推荐

