Undefined reference to EVERYTHING
-
My problem is pretty simple: [url=http://www.yaharr.com/i/qt_1331errors.png]Everything is an undefined reference (CLICK FOR SCREENSHOT)[/url].
This project was not made by me. It compiles just fine on it's author's computer with Qt Creator (on Windows 7).
When I open the CMakeLists.txt with Qt (File > Open File or Project...) and Build All (Build > Build All), however, I get over a thousand errors due to everything being an undefined reference.
- I'm using Windows 7 Professional 64-bit
- I'm using MinGW 4.4 to compile - the same MinGW 4.4 that comes with Qt Creator's installer.
- I have CMake 2.8
- My packages are here: [url=http://www.yaharr.com/i/qt_packages2.png]Screenshot[/url] (updated)
- Here's the part of my PATH variable that isn't just basic system stuff:
... C:\Program Files\Java\jre6\bin;C:\Program Files\TortoiseSVN\bin;C:\Program Files (x86)\CMake 2.8\bin;C:\Program Files (x86)\QuickTime\QTSystem;C:\Dynamic\QtSDK\mingw\bin;C:\Dynamic\QtSDK\Desktop\Qt\4.7.4\msvc2008\bin;C:\Dynamic\QtSDK\Desktop\Qt\4.7.4\mingw\bin
To reiterate, this project compiles just fine on another Windows 7 PC.
-
-How would I obtain that information?-
EDIT: Our makefile (CMakeLists.txt) contains this:
@project(flist_messenger)
cmake_minimum_required(VERSION 2.6)
find_package(Qt4 REQUIRED)include_directories(${QT_INCLUDES} ${CMAKE_CURRENT_BINARY_DIR} "../libjson/Source")
set(flist_messenger_SRCS ../libjson/Source/internalJSONNode.cpp ../libjson/Source/JSONNode.cpp ../libjson/Source/JSONChildren.cpp ../libjson/Source/JSONDebug.cpp
../libjson/Source/JSONMemory.cpp ../libjson/Source/JSONWorker.cpp ../libjson/Source/JSONWriter.cpp
flist_avatar.cpp flist_character.cpp flist_sound.cpp main.cpp
flist_channel.cpp flist_messenger.cpp flist_userlist.cpp flist_parser.cpp)
SET(flist_messenger_HEADERS flist_avatar.h flist_character.h)
set(QtApp_RCCS resources.qrc)QT4_WRAP_CPP(flist_messenger_HEADERS_MOC ${flist_messenger_HEADERS})
QT4_ADD_RESOURCES(QtApp_RCC_SRCS ${QtApp_RCCS})
qt4_automoc(${flist_messenger_SRCS})
add_executable(flist_messenger ${flist_messenger_SRCS} ${QtApp_RCC_SRCS} ${flist_messenger_HEADERS_MOC})
target_link_libraries(flist_messenger ${QT_QTCORE_LIBRARY} ${QT_QTGUI_LIBRARY} ${QT_QTNETWORK_LIBRARY})@The information in the Compile Output tab follows:
@Running build steps for project flist_messenger...
Starting: "C:\Dynamic\QtSDK\mingw\bin\mingw32-make.exe"
Linking CXX executable flist_messenger.exe
CMakeFiles\flist_messenger.dir/objects.a(flist_avatar.cpp.obj):flist_avatar.cpp:(.text+0x16): undefined reference to_imp___ZN7QObjectC2EPS_' CMakeFiles\flist_messenger.dir/objects.a(flist_avatar.cpp.obj):flist_avatar.cpp:(.text+0x53): undefined reference to
_imp___ZN21QNetworkAccessManagerC1EP7QObject'<it continues like this for ~1500 lines>
CMakeFiles\flist_messenger.dir/objects.a(moc_flist_avatar.cxx.obj):moc_flist_avatar.cxx:(.rdata$_ZTV7FAvatar[vtable for FAvatar]+0x34): undefined reference to
QObject::disconnectNotify(char const*)' CMakeFiles\flist_messenger.dir/objects.a(moc_flist_avatar.cxx.obj):moc_flist_avatar.cxx:(.text$_ZN7FAvatarD0Ev[FAvatar::~FAvatar()]+0x1b): undefined reference to
_imp___ZN21QNetworkAccessManagerD1Ev'
CMakeFiles\flist_messenger.dir/objects.a(moc_flist_avatar.cxx.obj):moc_flist_avatar.cxx:(.text$_ZN7FAvatarD0Ev[FAvatar::~FAvatar()]+0x78): undefined reference to_imp___ZN7QObjectD2Ev' CMakeFiles\flist_messenger.dir/objects.a(moc_flist_avatar.cxx.obj):moc_flist_avatar.cxx:(.text$_ZN7FAvatarD0Ev[FAvatar::~FAvatar()]+0x94): undefined reference to
_imp___ZN7QObjectD2Ev'
collect2: ld returned 1 exit status
mingw32-make[2]: *** [flist_messenger.exe] Error 1
mingw32-make[1]: *** [CMakeFiles/flist_messenger.dir/all] Error 2
mingw32-make: *** [all] Error 2
The process "C:\Dynamic\QtSDK\mingw\bin\mingw32-make.exe" exited with code 2.
Error while building project flist_messenger (target: Desktop)
When executing build step 'Make'@(The full output is [url=http://www.yaharr.com/i/make-output.txt]here[/url])
Is that the information you're after?
-
[quote author="Lukas Geyer" date="1321879284"]The acutal call to the linker would be interesting, especially which pathes and libraries get passed.[/quote]
How do I acquire that call information?This is my first time dealing with makefiles, and my usage of C++ compilers (apart from Visual Studio's) has just involved single-document scripts.