当前,我遇到问题,在Windows 10上使用mingw32或mingw64在msys2上编译doxygen。
我所做的是:
使用mingw32时出现以下错误:
In file included from C:/msys64/home/dglaser/GIT/doxygen/src/layout.cpp:36:0:
C:/msys64/home/dglaser/GIT/doxygen/build/generated_src/layout_default.xml.h:1:1: warning: missing terminating " character
\n"doxygenlayout version=\"1.0\">
^
[...]
使用mingw64时(删除构建并再次执行上述步骤后,一切都可以正常编译,并且在链接期间出现错误:
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: ../lib/libdoxymain.a(doxygen.cpp.obj):doxygen.cpp:(.text+0x36dd6): undefined reference to `QFileInfo::absFilePath() const'
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: ../lib/libdoxymain.a(doxygen.cpp.obj):doxygen.cpp:(.text+0x36e84): undefined reference to `QFileInfo::isFile() const'
[...]
任何想法如何解决其中之一?
使用MSYS2时,您应该使用:
cmake.exe -G"MSYS Makefiles"
[当我从最新的源tarball http://doxygen.nl/files/doxygen-1.8.18.src.tar.gz构建时,在从/bigobj
中删除了包含CMakeLists.txt
的行后,它可以工作。
msys2在某种程度上已损坏/过时。更新使环境崩溃,因此我删除了C:\ msys64并重新安装了它。正确安装所有依赖项(GCC,cmake,make,python,libiconv,bison,bisonc ++)后,它会编译并正确执行。
感谢所有人!