I'd like to build the latest CEGUI HG snapshot using MinGW and CMake. Compilation goes fine, but I have some (well, actually, only one now) linker issues.
First, I got a few undefined reference errors in PCRERegexMatcher.cpp.obj, but after doing a quick search, I was able to eliminate it by adding "#define PCRE_EXP_DECL extern" before "#include <pcre.h>" in PRERegexpMatcher.h. I'm not sure what is this, since I honestly know nothing about PCRE, but it worked.
After this, I got undefined reference erros again, but this time in MinizipResourceProvider.cpp.obj, and no matter what I did, I'm stuck.
Here are the exact errors:
Code: Select all
CMakeFiles\CEGUIBase.dir/objects.a(MinizipResourceProvider.cpp.obj):MinizipResourceProvider.cpp:(.text+0xe0a): undefined reference
to `_imp__unzLocateFile@12'
CMakeFiles\CEGUIBase.dir/objects.a(MinizipResourceProvider.cpp.obj):MinizipResourceProvider.cpp:(.text+0xe61): undefined reference
to `_imp__unzGetCurrentFileInfo@32'
CMakeFiles\CEGUIBase.dir/objects.a(MinizipResourceProvider.cpp.obj):MinizipResourceProvider.cpp:(.text+0xe7d): undefined reference
to `_imp__unzOpenCurrentFile@4'
CMakeFiles\CEGUIBase.dir/objects.a(MinizipResourceProvider.cpp.obj):MinizipResourceProvider.cpp:(.text+0xeb0): undefined reference
to `_imp__unzReadCurrentFile@12'
CMakeFiles\CEGUIBase.dir/objects.a(MinizipResourceProvider.cpp.obj):MinizipResourceProvider.cpp:(.text+0xecc): undefined reference
to `_imp__unzCloseCurrentFile@4'
CMakeFiles\CEGUIBase.dir/objects.a(MinizipResourceProvider.cpp.obj):MinizipResourceProvider.cpp:(.text+0x1767): undefined referenc
e to `_imp__unzOpen@4'
CMakeFiles\CEGUIBase.dir/objects.a(MinizipResourceProvider.cpp.obj):MinizipResourceProvider.cpp:(.text+0x18a2): undefined referenc
e to `_imp__unzClose@4'
CMakeFiles\CEGUIBase.dir/objects.a(MinizipResourceProvider.cpp.obj):MinizipResourceProvider.cpp:(.text+0x1c01): undefined referenc
e to `_imp__unzGoToFirstFile@4'
CMakeFiles\CEGUIBase.dir/objects.a(MinizipResourceProvider.cpp.obj):MinizipResourceProvider.cpp:(.text+0x1c2d): undefined referenc
e to `_imp__unzGoToNextFile@4'
CMakeFiles\CEGUIBase.dir/objects.a(MinizipResourceProvider.cpp.obj):MinizipResourceProvider.cpp:(.text+0x1c82): undefined referenc
e to `_imp__unzGetCurrentFileInfo@32'
First, I've tried to link against the ZLib version included with the dependencies pack (the pack itself is also the latest Mercurial snapshot), nothing changed. After searching around, I found basically nothing regarding these calls. Well, I found only one forum post where the poster had similiar linker errors when trying to compile the ZLib windows api. They managed to solve this by adding "#define ZLIB_WINAPI" before including zlib. So I tried to add this line before "#include "minizip/unzip.h"" in MinizipResourceProvider.cpp, but nothing happened.
What should I do next? Do I really need the Minizip resource provider? I'm going to use CEGUI with Ogre, and Ogre has its own zip reader, so can I just use that to load CEGUI-related resources from zip files?
Also, what is that PCRE stuff? Do I really need that? CMAKE says it's needed for "editbox string validation", but again, I'm not sure what is this for.
Thank you in advance.