Problem compiling Digikam with mingw
francis_ at gmx.net
Mon Nov 1 03:21:25 CET 2010
At 2010-10-30 21:06, Ralf Habacker wrote:
>if tdm gcc is different from other mingw distributions the additional
>compiler has to be defined in the top level CMakeLists.txt from the
># there are three mingw compilers
># compiler cmake variables
># mingw4 MINGW32
># mingw-w32 MINGW32 MINGW_W32
># mingw-w64 MINGW64 MINGW_W64
># the last one could be detected automatically
># the second one is selected with the following option
># the first one is selected by cmake as default
>OPTION(MINGW_W32 "build for mingw-w32 " OFF)
>Depending on this additional compiler the headers in
>http://websvn.kde.org/trunk/kdesupport/kdewin/include/mingw/ has to be
>If you send me a related patch I can add this to the kdewin source in svn.
Thanks. I am making some progress. The problem results from the
combination of two issues. Resolving one of them would be enough.
1. lcms.h hard-codes the environment (line 46). This is part of the
Windows MinGW package:
#define NON_WINDOWS 1
This later causes the conflicting include (which is in an ifdef
A potential fix is to #undef NON_WNDOWS in lcms.h. Why would it be
hard-coded? Even then, compilation falls over quite dramatically if
it is not there. Is there a way to define LCMSEXPORT and LCMSAPI in a
way that is compatible with TDM_GCC?
2. The compiler looks for unistd.h in the KDE installation include
path* rather than in the TDM-GCC include paths**.
* The directory where I install KDE: E:\kde4-tdmgcc\include
** The directories where I installed TDM-GCC and the source code:
E:\dev-tdmgcc\include and E:\dev-tdmgcc\lib\gcc\mingw32\4.5.1\include
Another potential fix is to change the include path hierarchy, but I
don't know the makefile generation process well enough to identify
where to make the changes. Any clues?
More information about the Kde-windows