使用 MinGW 构建 ASSIMP 会导致文件太大错误
Building ASSIMP with MinGW causes file too big error
我正在Windows 10上使用cmake和mingw-w64构建ASSIMP,它在创建目标代码时给了我"文件太大"错误。我尝试使用MinGW和MinGW-w64,两者都给了我相同的错误。我正在使用默认设置,我使用 cmake 配置项目,生成生成文件,然后运行 mingw32-make。我可以设置某种标志来解决此问题吗?
编译器:
g++ (x86_64-posix-seh-rev0, Built by MinGW-W64 project) 8.1.0
这是输出:
[ 59%] Building CXX object code/CMakeFiles/assimp.dir/Importer/StepFile/StepFileImporter.cpp.obj
[ 60%] Building CXX object code/CMakeFiles/assimp.dir/Importer/StepFile/StepFileGen1.cpp.obj
C:/mingw-w64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/bin/as.exe:
CMakeFilesassimp.dirImporterStepFileStepFileGen1.cpp.obj: section .xdata$_ZNSt10_Head_baseILy0EPN6Assimp8StepFile29directed_dimensional_locationELb0EE7_M_headERKS4_:
string table overflow at offset 10000029
C:UsersANDREW~1.NOTAppDataLocalTempccwwseVM.s: Assembler messages:
C:UsersANDREW~1.NOTAppDataLocalTempccwwseVM.s: Fatal error: can't close CMakeFilesassimp.dirImporterStepFileStepFileGen1.cpp.obj: File too big
mingw32-make[2]: *** [codeCMakeFilesassimp.dirbuild.make:2485: code/CMakeFiles/assimp.dir/Importer/StepFile/StepFileGen1.cpp.obj] Error 1
mingw32-make[1]: *** [CMakeFilesMakefile2:274: code/CMakeFiles/assimp.dir/all] Error 2
mingw32-make: *** [Makefile:129: all] Error 2
编辑:我正在使用github的Assimp主分支,它具有更新的实验功能。我下载了较旧的发布版本,但没有收到相同的错误。
此错误由 assimp 本身修复 https://github.com/assimp/assimp/issues/2406 您使用哪个版本?
对我有用的是什么:
进入 CMakeLists.txt 并添加:
set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} "-O3")
然后在关闭一些选项的情况下进行编译:
cmake .. -G "Unix Makefiles" -DASSIMP_BUILD_ASSIMP_TOOLS=OFF -DASSIMP_BUILD_TESTS=OFF
make -j4 && make install
它也适用于 5.0.0-rc1 和 5.0.1。
相关文章:
- 为什么在读取文件大小时文件IO速度会发生变化
- cpp 在主源文件中包括.cpp文件导致错误"duplicate symbol"
- 尝试使用 EvtSetChannelConfigProperty() 函数更新最大事件日志文件大小时插入的错误值
- 从生成文件编译错误:"Unable to open output file" ..."No such file or directory"
- Reader类实现中的文件读取错误
- 代码作为 C 文件工作,但不作为C++文件,错误:'__builtin_types_compatible_p'未在此范围内声明
- 如何在不设置 ulimit -n 的情况下解决套接字程序打开太多文件的错误
- 如何在C++中包含头文件时错误地重载
- OpenCV 文件存储 - 错误:元素之间的解析错误 (icvYMLParseValue) 缺失
- 使用 MinGW 构建 ASSIMP 会导致文件太大错误
- Arduino IDE中自定义库类的.h文件编译错误的原因是什么
- 为什么生成文件返回 g++: 错误: h 文件或目录 make: *** [生成文件:12: 测试] 错误 1?
- 'void *' 'void (*) (bool)' 指针使用 c ++ 编译器在 C 中编译文件的错误
- C :数据文件有错误:预期的无限制ID
- Qt4文件打开错误:没有这样的文件或目录
- 提升二进制文件读取错误不支持的版本
- 使用_ropen打开物理文件的错误
- CTF阅读器为CNTK中的大文件投掷错误
- c++中的大文件读取错误
- 最小/最大逻辑错误和文件读取错误