C:\Qt\Tools\mingw1120_64\bin
cmake -G "MinGW Makefiles" -DENABLE_BOOST_WORKAROUND=ON -DBUILD_STATIC_LIB=ON -DCMAKE_RC_COMPILER=C:/Qt/Tools/mingw1120_64/bin/windres.exe -DCMAKE_MAKE_PROGRAM=C:/Qt/Tools/mingw1120_64/bin/mingw32-make.exe -DCMAKE_LFLAGS=-static -DCMAKE_LFLAGS_DLL=-static -DDX9_INCLUDE_PATH=C:/Qt/Tools/mingw1120_64/x86_64-w64-mingw32/include -DD3D9_LIBRARY=C:/Qt/Tools/mingw1120_64/x86_64-w64-mingw32/lib/libd3d9.a -DD3DX9_LIBRARY=C:/Qt/Tools/mingw1120_64/x86_64-w64-mingw32/lib/libd3dx9.a
编译错误
几个错误都来自 unzip 库的编译警告,注释即可。
D:\assimp-5.2.4\contrib\unzip\crypt.c:47: error: ignoring '#pragma warning ' [-Werror=unknown-pragmas]
47 | # pragma warning(push)
|
D:\assimp-5.2.4\contrib\unzip\crypt.c:48: error: ignoring '#pragma warning ' [-Werror=unknown-pragmas]
48 | # pragma warning(disable : 4244)
|
D:\assimp-5.2.4\contrib\unzip\crypt.c:168: error: ignoring '#pragma warning ' [-Werror=unknown-pragmas]
168 | # pragma warning(pop)
|
cc1.exe: all warnings being treated as errors
mingw32-make[2]: *** [code\CMakeFiles\assimp.dir\build.make:3246: code/CMakeFiles/assimp.dir/__/contrib/unzip/crypt.c.obj] Error 1
mingw32-make[2]: *** Waiting for unfinished jobs....
mingw32-make[1]: *** [CMakeFiles\Makefile2:221: code/CMakeFiles/assimp.dir/all] Error 2
mingw32-make: *** [Makefile:135: all] Error 2
D:\assimp-5.2.4\contrib\unzip\ioapi.c:26: error: ignoring '#pragma warning ' [-Werror=unknown-pragmas]
26 | # pragma warning(push)
|
D:\assimp-5.2.4\contrib\unzip\ioapi.c:27: error: ignoring '#pragma warning ' [-Werror=unknown-pragmas]
27 | # pragma warning(disable : 4131 4100)
|
D:\assimp-5.2.4\contrib\unzip\ioapi.c:361: error: ignoring '#pragma warning ' [-Werror=unknown-pragmas]
361 | # pragma warning(pop)
|
cc1.exe: all warnings being treated as errors
D:\assimp-5.2.4\contrib\unzip\unzip.c:77: error: ignoring '#pragma warning ' [-Werror=unknown-pragmas]
77 | # pragma warning(push)
|
D:\assimp-5.2.4\contrib\unzip\unzip.c:78: error: ignoring '#pragma warning ' [-Werror=unknown-pragmas]
78 | # pragma warning(disable : 4131 4244 4189 4245)
|
mingw32-make[2]: *** [code\CMakeFiles\assimp.dir\build.make:3261: code/CMakeFiles/assimp.dir/__/contrib/unzip/ioapi.c.obj] Error 1
mingw32-make[2]: *** Waiting for unfinished jobs....
D:\assimp-5.2.4\contrib\unzip\unzip.c:1999: error: ignoring '#pragma warning ' [-Werror=unknown-pragmas]
1999 | # pragma warning(pop)
|
cc1.exe: all warnings being treated as errors
mingw32-make[2]: *** [code\CMakeFiles\assimp.dir\build.make:3276: code/CMakeFiles/assimp.dir/__/contrib/unzip/unzip.c.obj] Error 1
mingw32-make[1]: *** [CMakeFiles\Makefile2:221: code/CMakeFiles/assimp.dir/all] Error 2
mingw32-make: *** [Makefile:135: all] Error 2
D:\assimp-5.2.4\contrib\unzip\unzip.c:77: error: ignoring '#pragma warning ' [-Werror=unknown-pragmas]
77 | # pragma warning(push)
|
D:\assimp-5.2.4\contrib\unzip\unzip.c:78: error: ignoring '#pragma warning ' [-Werror=unknown-pragmas]
78 | # pragma warning(disable : 4131 4244 4189 4245)
|
D:\assimp-5.2.4\contrib\unzip\unzip.c:1999: error: ignoring '#pragma warning ' [-Werror=unknown-pragmas]
1999 | # pragma warning(pop)
|
cc1.exe: all warnings being treated as errors
mingw32-make[2]: *** [code\CMakeFiles\assimp.dir\build.make:3276: code/CMakeFiles/assimp.dir/__/contrib/unzip/unzip.c.obj] Error 1
mingw32-make[2]: *** Waiting for unfinished jobs....
mingw32-make[1]: *** [CMakeFiles\Makefile2:221: code/CMakeFiles/assimp.dir/all] Error 2
mingw32-make: *** [Makefile:135: all] Error 2
如 crypt.c 文件
// #ifdef _WIN32
// # pragma warning(push)
// # pragma warning(disable : 4244)
// #endif // _WIN32
......
// #ifdef _WIN32
// # pragma warning(pop)
// #endif // _WIN32
Cmake添加库
link_directories(${CMAKE_SOURCE_DIR}/dependences/assimp-5.2.4/lib)
......
target_link_libraries(PhysSimulation PRIVATE Qt${QT_VERSION_MAJOR}::Widgets Qt${QT_VERSION_MAJOR}::OpenGLWidgets libassimp.dll.a)