当我构建一个使用 Assimp 的应用程序时,出现错误
C:\Users\nitin\AppData\Local\Temp\ccA4Vs3q.s: Assembler messages:
C:\Users\nitin\AppData\Local\Temp\ccA4Vs3q.s: Fatal error: can't write 117 bytes to section .text of CMakeFiles\assimp.dir\AssetLib\IFC\IFCReaderGen1_2x3.cpp.obj because: 'File too big'
c:/mingw/bin/../lib/gcc/mingw32/6.3.0/../../../../mingw32/bin/as.exe: CMakeFiles\assimp.dir\AssetLib\IFC\IFCReaderGen1_2x3.cpp.obj: too many sections (46774)
C:\Users\nitin\AppData\Local\Temp\ccA4Vs3q.s: Fatal error: can't close CMakeFiles\assimp.dir\AssetLib\IFC\IFCReaderGen1_2x3.cpp.obj: File too big
Nade\vendor\assimp\code\CMakeFiles\assimp.dir\build.make:1965: recipe for target 'Nade/vendor/assimp/code/CMakeFiles/assimp.dir/AssetLib/IFC/IFCReaderGen1_2x3.cpp.obj' failed
Run Code Online (Sandbox Code Playgroud)
于是就上网搜索解决方案,找到了一个解决方案,说需要设置/bigobjflag。
我正在使用 Cmake 和 Mingw32-make。
但是当我添加这样的定义时
set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} /bigobj)
Run Code Online (Sandbox Code Playgroud)
或者像这样
add_definitions(/bigobj)
Run Code Online (Sandbox Code Playgroud)
我收到错误
/bigobj: No such file or directory
Run Code Online (Sandbox Code Playgroud)
如何在解决“OBJ 文件太大”错误的同时解决此错误?
该/bigobj选项适用于 Microsoft Visual Studio 编译器。
对于 GCC,请尝试-Wa,-mbig-obj改为。
如果您想同时支持两者,请尝试:
if (MSVC)
add_compile_options(/bigobj)
else ()
add_compile_options(-Wa,-mbig-obj)
endif ()
Run Code Online (Sandbox Code Playgroud)
如果您只想直接指定单个目标:
target_compile_options(my_target_name PRIVATE /bigobj)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5025 次 |
| 最近记录: |