Solved Building Open-Sankoré on windows
-
What errors are you getting ?
-
There was many other compiler errors that occurred due compiler differences between msvc and mingw..but I resolved them by some walk arounds..
But those errors appeared to me after the generation of the moc files:
g++: ole32.lib: No such file or directory g++: oleaut32.lib: No such file or directory g++: user32.lib: No such file or directory g++: gdi32.lib: No such file or directory g++: advapi32.lib: No such file or directory
Any idea how to fix them ??
-
Which exact version of Qt are you using ?
-
@SGaist
[[Updated]]
I switched Qt 4.8.7-mingw32 and I passed these errors finally but new error appeared to me about "-lWmvcore" can't be found :( -
Hi @GamalMohamed,
I'm not very familiar with this toolkit, but I've heard of others succeeding before. See if this thread provides any clues: https://forum.qt.io/topic/24482/qt-5-0-1-project-error-unknown-module-s-in-qt-phonon/7
-
@JKSH
Oh yes thanks :)
I saw this thread before but it did benefit me a lot unfortuantely..Anyway I passed the above mentioned errors by changing my compiler to mingw32..but now I have this new error:
Warning: corrupt .drectve at end of def file Warning: corrupt .drectve at end of def file Warning: corrupt .drectve at end of def file Warning: corrupt .drectve at end of def file Warning: corrupt .drectve at end of def file Warning: corrupt .drectve at end of def file Warning: corrupt .drectve at end of def file Warning: corrupt .drectve at end of def file Warning: corrupt .drectve at end of def file D:/2- Extra-circular work/RGB Internship/sources/Open-sankore sources/Project2/ThirdParty/xpdf/lib/win32/libxpdf.a(SplashFTFontEngine.o):SplashFTFontEngine.cc:(.text+0x66): undefined reference to `FT_Library_Version' D:/2- Extra-circular work/RGB Internship/sources/Open-sankore sources/Project2/ThirdParty/xpdf/lib/win32/libxpdf.a(SplashFTFontEngine.o):SplashFTFontEngine.cc:(.text+0xaf): undefined reference to `FT_Init_FreeType' D:/2- Extra-circular work/RGB Internship/sources/Open-sankore sources/Project2/ThirdParty/xpdf/lib/win32/libxpdf.a(SplashFTFontEngine.o):SplashFTFontEngine.cc:(.text+0x11a): undefined reference to `FT_Done_FreeType' C:/mingw32/bin/../lib/gcc/i686-w64-mingw32/4.8.2/../../../../i686-w64-mingw32/bin/ld.exe: D:/2- Extra-circular work/RGB Internship/sources/Open-sankore sources/Project2/ThirdParty/xpdf/lib/win32/libxpdf.a(SplashFTFontEngine.o): bad reloc address 0x20 in section `.eh_frame' collect2.exe: error: ld returned 1 exit status
Any idea how to handle this ?
-
Did you do a full rebuild ?
By the way, why not use the MinGW version provided by Qt ?
One thing to simplify your life: remove the spaces in your path. They almost always have been problematic on Windows.
-
@SGaist
Yes..I did a complete rebuild and now moved the file to shorter and simpler path..
but same link errors appeared :(Warning: corrupt .drectve at end of def file Warning: corrupt .drectve at end of def file Warning: corrupt .drectve at end of def file Warning: corrupt .drectve at end of def file Warning: corrupt .drectve at end of def file Warning: corrupt .drectve at end of def file Warning: corrupt .drectve at end of def file Warning: corrupt .drectve at end of def file Warning: corrupt .drectve at end of def file C:/Users/JIMMY/Desktop/Project2/ThirdParty/xpdf/lib/win32/libxpdf.a(SplashFTFontEngine.o):SplashFTFontEngine.cc:(.text+0x66): undefined reference to `FT_Library_Version' C:/Users/JIMMY/Desktop/Project2/ThirdParty/xpdf/lib/win32/libxpdf.a(SplashFTFontEngine.o):SplashFTFontEngine.cc:(.text+0xaf): undefined reference to `FT_Init_FreeType' C:/Users/JIMMY/Desktop/Project2/ThirdParty/xpdf/lib/win32/libxpdf.a(SplashFTFontEngine.o):SplashFTFontEngine.cc:(.text+0x11a): undefined reference to `FT_Done_FreeType' C:/mingw32/bin/../lib/gcc/i686-w64-mingw32/4.8.2/../../../../i686-w64-mingw32/bin/ld.exe: C:/Users/JIMMY/Desktop/Project2/ThirdParty/xpdf/lib/win32/libxpdf.a(SplashFTFontEngine.o): bad reloc address 0x20 in section `.eh_frame' collect2.exe: error: ld returned 1 exit status
Note:
I am using Qt downloaded from here
http://download.qt.io/official_releases/qt/4.8/4.8.7/qt-opensource-windows-x86-mingw482-4.8.7.exe
and this version of mingw "i686-4.8.2-release-posix-dwarf-rt_v3-rev3.7z" (mingw32) -
Open Sankore uses a modified version of Qt, not the official version of Qt.
Their build instructions are at http://dev.open-sankore.org/xwiki/bin/view/Community/SourceRepository If you still can't get it to work, perhaps try asking the Open Sankore community?
-
@JKSH
I know but I tried several times to follow these steps but in vain...these versions on VS are out of date now and couldn't be found..
I reached a good point in compiling the project but this linking problem stumped me a lot :( -
@GamalMohamed said:
I know but I tried several times to follow these steps but in vain...
Sorry, I didn't notice that you already posted the same link in your original post!
Warning: corrupt .drectve at end of def file
I'm not sure what these mean, I'm afraid...
D:/2- Extra-circular work/RGB Internship/sources/Open-sankore sources/Project2/ThirdParty/xpdf/lib/win32/libxpdf.a(SplashFTFontEngine.o):SplashFTFontEngine.cc:(.text+0x66): undefined reference to `FT_Library_Version' D:/2- Extra-circular work/RGB Internship/sources/Open-sankore sources/Project2/ThirdParty/xpdf/lib/win32/libxpdf.a(SplashFTFontEngine.o):SplashFTFontEngine.cc:(.text+0xaf): undefined reference to `FT_Init_FreeType' D:/2- Extra-circular work/RGB Internship/sources/Open-sankore sources/Project2/ThirdParty/xpdf/lib/win32/libxpdf.a(SplashFTFontEngine.o):SplashFTFontEngine.cc:(.text+0x11a): undefined reference to `FT_Done_FreeType' C:/mingw32/bin/../lib/gcc/i686-w64-mingw32/4.8.2/../../../../i686-w64-mingw32/bin/ld.exe: D:/2- Extra-circular work/RGB Internship/sources/Open-sankore sources/Project2/ThirdParty/xpdf/lib/win32/libxpdf.a(SplashFTFontEngine.o): bad reloc address 0x20 in section `.eh_frame'
How did you build the FreeType and Xpdf libraries?
-
It looks like the ThirdParty repository provides some of the dependencies as pre-built lib files. Taking the build documentation as reference, they are likely built for Visual Studio 2008 which is not compatible with Visual Studio 2015 and even less MinGW.
-
@JKSH
There's a .pro file found in the repo: https://github.com/Sankore/Sankore-ThirdParty
I used it to compile the project using Qt-creator (mingw32-Qt 4.8.6) and then put the build files in the same directory with source files..
Same thing done for xpdf..@SGaist
I didn't use any pre-built lib files as far I can see...Have a look at the files i use:
https://goo.gl/Xv4mbV -
I didn't say you did: the repository provides them. Look at the microsoft folder.
-
@SGaist
I saw them..but I think the linker isn't complaining from them, is it? :/
These errors are from xpdf and freetype.. -
xpdf depends on freetype so if you haven't built it that's why you are getting the missing symbols.
-
@GamalMohamed said:
I used it to compile the project using Qt-creator (mingw32-Qt 4.8.6) and then put the build files in the same directory with source files..
Same thing done for xpdf..You also need to tell the linker exactly which library files to use. Just putting the files in the same folder is not enough.
In your .pro file, you need something like
LIBS += -lfreetype
(see https://github.com/Sankore/Sankore-ThirdParty/blob/master/libs.pri ). I'm guessing that you got the "Undefined reference" errors because this line is missing. -
FINAAAAAAAAAAALYYYYYYY IT BUILT & RAN !
Thnx 2 all of u guys :) -
@GamalMohamed
good work :)so u made it compile with mingw?
Any change to share this setup? on git or something like that.
-
@GamalMohamed said:
FINAAAAAAAAAAALYYYYYYY IT BUILT & RAN !
Thnx 2 all of u guys :)Congratulations! :) What was the secret?