Skip to content

Instantly share code, notes, and snippets.

@jarib
Created August 14, 2009 17:16
Show Gist options
  • Save jarib/167968 to your computer and use it in GitHub Desktop.
Save jarib/167968 to your computer and use it in GitHub Desktop.
trying to compile my qt app with mingw32 with a statically linked external lib (http://qjson.sourceforge.net) on windows
everything works until make tries to compile the .exe file
source @ http://github.com/jarib/celerity-viewers/tree/master/qt
here's what i've tried
======================= 1 : compile qjson using cmake ============================
Z:\git\celerity-viewers\qt
>cd lib\qjson
Z:\git\celerity-viewers\qt\lib\qjson
>mkdir build
Z:\git\celerity-viewers\qt\lib\qjson
>cd build
Z:\git\celerity-viewers\qt\lib\qjson\build
>cmake -G "MinGW Makefiles" ..
-- The C compiler identification is GNU
-- The CXX compiler identification is GNU
-- Check for working C compiler: C:/MinGW/bin/gcc.exe
-- Check for working C compiler: C:/MinGW/bin/gcc.exe -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: C:/MinGW/bin/g++.exe
-- Check for working CXX compiler: C:/MinGW/bin/g++.exe -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Looking for Q_WS_X11
-- Looking for Q_WS_X11 - not found.
-- Looking for Q_WS_WIN
-- Looking for Q_WS_WIN - found
-- Looking for Q_WS_QWS
-- Looking for Q_WS_QWS - not found.
-- Looking for Q_WS_MAC
-- Looking for Q_WS_MAC - not found.
-- Found Qt-Version 4.5.2
-- Configuring done
-- Generating done
-- Build files have been written to: Z:/git/celerity-viewers/qt/lib/qjson/build
Z:\git\celerity-viewers\qt\lib\qjson\build
Z:\git\celerity-viewers\qt\lib\qjson\build
>make
[ 10%] Generating moc_serializerrunnable.cxx
[ 20%] Generating moc_parserrunnable.cxx
Scanning dependencies of target qjson
[ 30%] Building CXX object src/CMakeFiles/qjson.dir/parser.cpp.obj
[ 40%] Building CXX object src/CMakeFiles/qjson.dir/json_scanner.cpp.obj
[ 50%] Building CXX object src/CMakeFiles/qjson.dir/json_parser.cc.obj
[ 60%] Building CXX object src/CMakeFiles/qjson.dir/parserrunnable.cpp.obj
[ 70%] Building CXX object src/CMakeFiles/qjson.dir/serializer.cpp.obj
[ 80%] Building CXX object src/CMakeFiles/qjson.dir/serializerrunnable.cpp.obj
[ 90%] Building CXX object src/CMakeFiles/qjson.dir/moc_parserrunnable.cxx.obj
[100%] Building CXX object src/CMakeFiles/qjson.dir/moc_serializerrunnable.cxx.obj
Linking CXX shared library ..\lib\libqjson.dll
Creating library file: ..\lib\libqjson.dll.a
[100%] Built target qjson
Z:\git\celerity-viewers\qt\lib\qjson\build
>
======================= 2 : so far so good, create static lib with ar ======================
Z:\git\celerity-viewers\qt\lib\qjson\build
>cd src\CMakeFiles\qjson.dir
Z:\git\celerity-viewers\qt\lib\qjson\build\src\CMakeFiles\qjson.dir
>dir
Volume in drive Z is VBOX_src
Volume Serial Number is 0E00-0002
Directory of Z:\git\celerity-viewers\qt\lib\qjson\build\src\CMakeFiles\qjson.dir
08/14/2009 06:03 PM 22,040 build.make
08/14/2009 06:03 PM 769 cmake_clean.cmake
08/14/2009 06:05 PM 22,572 CXX.includecache
08/14/2009 06:05 PM 46,443 depend.internal
08/14/2009 06:05 PM 84,733 depend.make
08/14/2009 06:03 PM 1,773 DependInfo.cmake
08/14/2009 06:03 PM 423 flags.make
08/14/2009 06:05 PM 1,239,940 json_parser.cc.obj
08/14/2009 06:05 PM 530,025 json_scanner.cpp.obj
08/14/2009 06:03 PM 633 link.txt
08/14/2009 06:05 PM 281,351 moc_parserrunnable.cxx.obj
08/14/2009 06:05 PM 281,248 moc_serializerrunnable.cxx.obj
08/14/2009 06:05 PM 475,511 parser.cpp.obj
08/14/2009 06:05 PM 418,651 parserrunnable.cpp.obj
08/14/2009 06:03 PM 224 progress.make
08/14/2009 06:05 PM 485,332 serializer.cpp.obj
08/14/2009 06:05 PM 408,237 serializerrunnable.cpp.obj
17 File(s) 4,299,905 bytes
0 Dir(s) 64,517,636,096 bytes free
Z:\git\celerity-viewers\qt\lib\qjson\build\src\CMakeFiles\qjson.dir
>ar rcsv Z:\git\celerity-viewers\qt\lib\qjson.lib *.obj
a - json_parser.cc.obj
a - json_scanner.cpp.obj
a - moc_parserrunnable.cxx.obj
a - moc_serializerrunnable.cxx.obj
a - parser.cpp.obj
a - parserrunnable.cpp.obj
a - serializer.cpp.obj
a - serializerrunnable.cpp.obj
Z:\git\celerity-viewers\qt\lib\qjson\build\src\CMakeFiles\qjson.dir
>dir Z:\git\celerity-viewers\qt\lib
Volume in drive Z is VBOX_src
Volume Serial Number is 0E00-0002
Directory of Z:\git\celerity-viewers\qt\lib
08/14/2009 06:02 PM <DIR> qjson
08/14/2009 06:07 PM 4,130,580 qjson.lib
1 File(s) 4,130,988 bytes
1 Dir(s) 64,513,503,232 bytes free
======================= 3 : now run qmake and make ===============================
Z:\git\celerity-viewers\qt
>qmake
Z:\git\celerity-viewers\qt
>mingw32-make
mingw32-make -f Makefile.Debug
mingw32-make[1]: Entering directory `Z:/git/celerity-viewers/qt'
g++ -c -g -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_WEBKIT_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -I"c:\Qt\4.5.2\include\QtCore" -I"c:\Qt\4.5.2\include\QtNetwork" -I"c:\Qt\4.5.2\include\QtGui" -I"c:\Qt\4.5.2\include\QtWebKit" -I"c:\Qt\4.5.2\include" -I"lib\qjson\src" -I"c:\Qt\4.5.2\include\ActiveQt" -I"debug" -I"c:\Qt\4.5.2\mkspecs\default" -o debug\main.o src\main.cpp
g++ -c -g -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_WEBKIT_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -I"c:\Qt\4.5.2\include\QtCore" -I"c:\Qt\4.5.2\include\QtNetwork" -I"c:\Qt\4.5.2\include\QtGui" -I"c:\Qt\4.5.2\include\QtWebKit" -I"c:\Qt\4.5.2\include" -I"lib\qjson\src" -I"c:\Qt\4.5.2\include\ActiveQt" -I"debug" -I"c:\Qt\4.5.2\mkspecs\default" -o debug\mainwindow.o src\mainwindow.cpp
g++ -c -g -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_WEBKIT_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -I"c:\Qt\4.5.2\include\QtCore" -I"c:\Qt\4.5.2\include\QtNetwork" -I"c:\Qt\4.5.2\include\QtGui" -I"c:\Qt\4.5.2\include\QtWebKit" -I"c:\Qt\4.5.2\include" -I"lib\qjson\src" -I"c:\Qt\4.5.2\include\ActiveQt" -I"debug" -I"c:\Qt\4.5.2\mkspecs\default" -o debug\viewer.o src\viewer.cpp
g++ -c -g -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_WEBKIT_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -I"c:\Qt\4.5.2\include\QtCore" -I"c:\Qt\4.5.2\include\QtNetwork" -I"c:\Qt\4.5.2\include\QtGui" -I"c:\Qt\4.5.2\include\QtWebKit" -I"c:\Qt\4.5.2\include" -I"lib\qjson\src" -I"c:\Qt\4.5.2\include\ActiveQt" -I"debug" -I"c:\Qt\4.5.2\mkspecs\default" -o debug\server.o src\server.cpp
C:\Qt\4.5.2\bin\moc.exe -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_WEBKIT_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -I"c:\Qt\4.5.2\include\QtCore" -I"c:\Qt\4.5.2\include\QtNetwork" -I"c:\Qt\4.5.2\include\QtGui" -I"c:\Qt\4.5.2\include\QtWebKit" -I"c:\Qt\4.5.2\include" -I"lib\qjson\src" -I"c:\Qt\4.5.2\include\ActiveQt" -I"debug" -I"c:\Qt\4.5.2\mkspecs\default" -D__GNUC__ -DWIN32 src\mainwindow.h -o debug\moc_mainwindow.cpp
g++ -c -g -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_WEBKIT_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -I"c:\Qt\4.5.2\include\QtCore" -I"c:\Qt\4.5.2\include\QtNetwork" -I"c:\Qt\4.5.2\include\QtGui" -I"c:\Qt\4.5.2\include\QtWebKit" -I"c:\Qt\4.5.2\include" -I"lib\qjson\src" -I"c:\Qt\4.5.2\include\ActiveQt" -I"debug" -I"c:\Qt\4.5.2\mkspecs\default" -o debug\moc_mainwindow.o debug\moc_mainwindow.cpp
C:\Qt\4.5.2\bin\moc.exe -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_WEBKIT_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -I"c:\Qt\4.5.2\include\QtCore" -I"c:\Qt\4.5.2\include\QtNetwork" -I"c:\Qt\4.5.2\include\QtGui" -I"c:\Qt\4.5.2\include\QtWebKit" -I"c:\Qt\4.5.2\include" -I"lib\qjson\src" -I"c:\Qt\4.5.2\include\ActiveQt" -I"debug" -I"c:\Qt\4.5.2\mkspecs\default" -D__GNUC__ -DWIN32 src\viewer.h -o debug\moc_viewer.cpp
g++ -c -g -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_WEBKIT_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -I"c:\Qt\4.5.2\include\QtCore" -I"c:\Qt\4.5.2\include\QtNetwork" -I"c:\Qt\4.5.2\include\QtGui" -I"c:\Qt\4.5.2\include\QtWebKit" -I"c:\Qt\4.5.2\include" -I"lib\qjson\src" -I"c:\Qt\4.5.2\include\ActiveQt" -I"debug" -I"c:\Qt\4.5.2\mkspecs\default" -o debug\moc_viewer.o debug\moc_viewer.cpp
C:\Qt\4.5.2\bin\moc.exe -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_WEBKIT_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -I"c:\Qt\4.5.2\include\QtCore" -I"c:\Qt\4.5.2\include\QtNetwork" -I"c:\Qt\4.5.2\include\QtGui" -I"c:\Qt\4.5.2\include\QtWebKit" -I"c:\Qt\4.5.2\include" -I"lib\qjson\src" -I"c:\Qt\4.5.2\include\ActiveQt" -I"debug" -I"c:\Qt\4.5.2\mkspecs\default" -D__GNUC__ -DWIN32 src\server.h -o debug\moc_server.cpp
g++ -c -g -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_WEBKIT_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -I"c:\Qt\4.5.2\include\QtCore" -I"c:\Qt\4.5.2\include\QtNetwork" -I"c:\Qt\4.5.2\include\QtGui" -I"c:\Qt\4.5.2\include\QtWebKit" -I"c:\Qt\4.5.2\include" -I"lib\qjson\src" -I"c:\Qt\4.5.2\include\ActiveQt" -I"debug" -I"c:\Qt\4.5.2\mkspecs\default" -o debug\moc_server.o debug\moc_server.cpp
g++ -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -mthreads -Wl -Wl,-subsystem,windows -o debug\QtCelerityViewer.exe debug/main.o debug/mainwindow.o debug/viewer.o debug/server.o debug/moc_mainwindow.o debug/moc_viewer.o debug/moc_server.o -L"c:\Qt\4.5.2\lib" -lmingw32 -lqtmaind -Llib -lqjson -lQtWebKitd4 -lQtGuid4 -lQtNetworkd4 -lQtCored4
debug/viewer.o(.text+0x181): In function `ZN8celerity6ViewerC2Ev':
Z:/git/celerity-viewers/qt/src/viewer.cpp:21: undefined reference to `_imp___ZN5QJson6ParserC1Ev'
debug/viewer.o(.text+0x25a):Z:/git/celerity-viewers/qt/src/viewer.cpp:23: undefined reference to `_imp___ZN5QJson6ParserD1Ev'
debug/viewer.o(.text+0x355): In function `ZN8celerity6ViewerC1Ev':
Z:/git/celerity-viewers/qt/src/viewer.cpp:21: undefined reference to `_imp___ZN5QJson6ParserC1Ev'
debug/viewer.o(.text+0x42e):Z:/git/celerity-viewers/qt/src/viewer.cpp:23: undefined reference to `_imp___ZN5QJson6ParserD1Ev'
debug/viewer.o(.text+0x570): In function `ZN8celerity6ViewerD2Ev':
Z:/git/celerity-viewers/qt/src/viewer.cpp:28: undefined reference to `_imp___ZN5QJson6ParserD1Ev'
debug/viewer.o(.text+0x58f):Z:/git/celerity-viewers/qt/src/viewer.cpp:28: undefined reference to `_imp___ZN5QJson6ParserD1Ev'
debug/viewer.o(.text+0x710): In function `ZN8celerity6ViewerD1Ev':
Z:/git/celerity-viewers/qt/src/viewer.cpp:28: undefined reference to `_imp___ZN5QJson6ParserD1Ev'
debug/viewer.o(.text+0x72f):Z:/git/celerity-viewers/qt/src/viewer.cpp:28: undefined reference to `_imp___ZN5QJson6ParserD1Ev'
debug/viewer.o(.text+0x8b0):Z:/git/celerity-viewers/qt/src/viewer.cpp:28: more undefined references to `_imp___ZN5QJson6ParserD1Ev' follow
debug/viewer.o(.text+0xa03): In function `ZN8celerity6Viewer11processJsonE10QByteArray':
Z:/git/celerity-viewers/qt/src/viewer.cpp:38: undefined reference to `_imp___ZN5QJson6Parser5parseERK10QByteArrayPb'
collect2: ld returned 1 exit status
mingw32-make[1]: *** [debug\QtCelerityViewer.exe] Error 1
mingw32-make[1]: Leaving directory `Z:/git/celerity-viewers/qt'
mingw32-make: *** [debug] Error 2
Z:\git\celerity-viewers\qt
# -------------------------------------------------
# Project created by QtCreator 2009-08-11T03:43:25
# -------------------------------------------------
QT += network webkit # testlib
TARGET = QtCelerityViewer
TEMPLATE = app
INCLUDEPATH += lib/qjson/src
SOURCES += src/main.cpp \
src/mainwindow.cpp \
src/viewer.cpp \
src/server.cpp
HEADERS += src/mainwindow.h \
src/viewer.h \
src/server.h \
lib/qjson/src/parser.h
QMAKE_INFO_PLIST = Info.plist
mac {
RC_FILE = CelerityViewer.icns
}
unix {
!exists(lib/libqjson.a) {
# this == ugly? suggestions welcome :)
system(mkdir lib/qjson/build && cd lib/qjson/build && cmake .. && make && ar rcs ../../libqjson.a src/CMakeFiles/qjson.dir/*.o)
system(rm -r lib/qjson/build)
}
}
win32 {
# need something to build qjson
}
LIBS += -Llib -lqjson
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment