1

Currently I'm facing a problem, compiling Doxygen on MSYS2 using either MinGW32 or Mingw-w64 on Windows 10.

I did:

  1. git clone https://github.com/doxygen/doxygen.git
  2. cd doxygen && mkdir build && cd build
  3. cmake -G "Unix Makefiles" ..
  4. make

When using MinGW32 I get the following errors:

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\"> ^ [...] 

When using Mingw-w64 (after deleting build and do above steps again), everything compiles fine and I get errors during linkage:

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' [...] 

How can one of those be solved?

1
  • Reinstalling msys2 did the job. After installing all dependent libraries, doxygen is now compiling nicely. If Iconv is not recognized after installation, delete the build folder and rerun cmake again. It worked with cmake -G "Unix Makefiles" .. Commented May 29, 2020 at 13:30

2 Answers 2

1

When using MSYS2 you should use:

cmake.exe -G"MSYS Makefiles" 

When I build from the latest source tarball http://doxygen.nl/files/doxygen-1.8.18.src.tar.gz it works after I removed the line containing /bigobj from CMakeLists.txt.

Sign up to request clarification or add additional context in comments.

4 Comments

Unfortunately, my cmake doesn't know about MSYS Makefiles:
Thanks, but reinstalling msys2 did the trick."MSYS Makefiles" is still not available.
@themole my windows 10 CMake does have the possibiliy for MSYS Makefiles, which version of cmake are you using? Is this the windows version (where cmake)?
I was using the CMake version that I compiled myself. These days I also use -GNinja in MSYS2 as ninja is a lot faster than make.
0

MSYS2 was somehow broken or outdated. Updating crashed the environment, so I deleted folder C:\msys64 and reinstalled it.

After installing all dependencies correctly (GCC, CMake, Make, Python, libiconv, Bison, and bisonc++), it compiled and executed correctly.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.