【发布时间】:2020-05-29 12:29:07
【问题描述】:
目前我遇到了一个问题,在 Windows 10 上使用 mingw32 或 mingw64 在 msys2 上编译 doxygen。
我所做的是:
- git 克隆https://github.com/doxygen/doxygen.git
- cd doxygen && mkdir build && cd build
- cmake -G "Unix Makefiles" ..
- 制作
使用 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 完成了这项工作。安装所有依赖库后,doxygen 现在可以很好地编译。如果安装后无法识别Iconv,请删除构建文件夹并重新运行cmake。它与
cmake -G "Unix Makefiles" ..合作