PDA

View Full Version : Error encountered 'ld returned 1 exit status' in QT Creator 2.0.1



farooqmian
4th January 2011, 17:18
Hi,
I am using QT Creator 2.0.1 in developing a simple dialing app. I downloaded the PJSip1.8.10 svn trunk and compiled it using VS2008 and followed the guide http://trac.pjsip.org/repos/wiki/Getting-Started/Windows.

Before starting QT development using PJSip, i glanced at the the QJSimple project source code.
In my sample project, I added the follwing in new 'pjcallback' class's pjcallback.h file

extern "C" {
#include <pjlib.h>
#include <pjlib-util.h>
#include <pjmedia.h>
#include <pjmedia-codec.h>
#include <pjsip.h>
#include <pjsip_simple.h>
#include <pjsip_ua.h>
#include <pjsua-lib/pjsua.h>
}

and then in pjcallback.cpp file, added the following code in a method:-

#define THIS_FILE "PjCallback"

PJ_LOG(3,(THIS_FILE, "Init ...."));

When I compile, I get the following error.

:: error: collect2: ld returned 1 exit status

http://permalink.gmane.org/gmane.comp.voip.pjsip/12758 tells that it might be due the order of libs defined, which I corrected accordingly, but still the same result!

Here is the .pro file!
--------------------------------------
#-------------------------------------------------
#
# Project created by QtCreator 2010-12-30T17:39:29
#
#-------------------------------------------------
DEFINES -= UNICODE

QT += core gui xml network

TARGET = QtDialer
TEMPLATE = app


SOURCES += main.cpp\
dialermainwindow.cpp \
pjcallback.cpp

HEADERS += dialermainwindow.h \
pjcallback.h

FORMS += dialermainwindow.ui

INCLUDEPATH += ../../pjsip/win/pjlib/include \
../../pjsip/win/pjlib-util/include \
../../pjsip/win/pjnath/include \
../../pjsip/win/pjmedia/include \
../../pjsip/win/pjsip/include

LIBS += -L../../pjsip/win/pjsip/lib \
-L../../pjsip/win/pjmedia/lib \
-L../../pjsip/win/pjnath/lib \
-L../../pjsip/win/pjlib-util/lib \
-L../../pjsip/win/pjlib/lib \
-L../../pjsip/win/third_party/lib

win32-g++:LIBS += -Lpjsua-lib-i386-Win32-vc8-Debug.lib \
-Lpjsip-ua-i386-Win32-vc8-Debug.lib \
-Lpjsip-simple-i386-Win32-vc8-Debug.lib \
-Lpjsip-core-i386-Win32-vc8-Debug.lib \
-Lpjmedia-i386-Win32-vc8-Debug.lib \
-Lpjmedia-codec-i386-Win32-vc8-Debug.lib \
-Lpjmedia-audiodev-i386-Win32-vc8-Debug.lib \
-Lpjnath-i386-Win32-vc8-Debug.lib \
-Lpjlib-util-i386-Win32-vc8-Debug.lib \
-Llibpjproject-i386-Win32-vc8-Debug.lib \
-Llibportaudio-i386-Win32-vc8-Debug.lib \
-Llibgsmcodec-i386-Win32-vc8-Debug.lib \
-Llibilbccodec-i386-Win32-vc8-Debug.lib \
-Llibspeex-i386-Win32-vc8-Debug.lib \
-Llibresample-i386-Win32-vc8-Debug.lib \
-Llibmilenage-i386-Win32-vc8-Debug.lib \
-Llibsrtp-i386-Win32-vc8-Debug.lib \
-Lm \
-Lwinmm \
-Lole32 \
-Lws2_32 \
-Lwsock32 \
-Lssl \
-Lcrypto \
-Lgdi32

--------------------------------------
The compile output console shows the following!

--------------------------------------
Running build steps for project QtDialer...
Configuration unchanged, skipping qmake step.
Starting: "C:/Qt/2010.05/mingw/bin/mingw32-make.exe" -w
mingw32-make: Entering directory `C:/workspace/qt/qtdialer/QtDialer-build-desktop'

c:\qt\2010.05\qt\bin\qmake.exe -spec ..\..\..\..\Qt\2010.05\qt\mkspecs\win32-g++ -o Makefile ..\QtDialer\QtDialer.pro

mingw32-make: Leaving directory `C:/workspace/qt/qtdialer/QtDialer-build-desktop'

mingw32-make: Entering directory `C:/workspace/qt/qtdialer/QtDialer-build-desktop'

C:/Qt/2010.05/mingw/bin/mingw32-make -f Makefile.Debug

mingw32-make[1]: Entering directory `C:/workspace/qt/qtdialer/QtDialer-build-desktop'

g++ -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -mthreads -Wl -Wl,-subsystem,windows -o debug\QtDialer.exe debug/main.o debug/dialermainwindow.o debug/pjcallback.o debug/moc_dialermainwindow.o debug/moc_pjcallback.o -L"c:\Qt\2010.05\qt\lib" -lmingw32 -lqtmaind -L../../pjsip/win/pjsip/lib -L../../pjsip/win/pjmedia/lib -L../../pjsip/win/pjnath/lib -L../../pjsip/win/pjlib-util/lib -L../../pjsip/win/pjlib/lib -L../../pjsip/win/third_party/lib -Lpjsua-lib-i386-Win32-vc8-Debug.lib -Lpjsip-ua-i386-Win32-vc8-Debug.lib -Lpjsip-simple-i386-Win32-vc8-Debug.lib -Lpjsip-core-i386-Win32-vc8-Debug.lib -Lpjmedia-i386-Win32-vc8-Debug.lib -Lpjmedia-codec-i386-Win32-vc8-Debug.lib -Lpjmedia-audiodev-i386-Win32-vc8-Debug.lib -Lpjnath-i386-Win32-vc8-Debug.lib -Lpjlib-util-i386-Win32-vc8-Debug.lib -Llibpjproject-i386-Win32-vc8-Debug.lib -Llibportaudio-i386-Win32-vc8-Debug.lib -Llibgsmcodec-i386-Win32-vc8-Debug.lib -Llibilbccodec-i386-Win32-vc8-Debug.lib -Llibspeex-i386-Win32-vc8-Debug.lib -Llibresample-i386-Win32-vc8-Debug.lib -Llibmilenage-i386-Win32-vc8-Debug.lib -Llibsrtp-i386-Win32-vc8-Debug.lib -Lm -Lwinmm -Lole32 -Lws2_32 -Lwsock32 -Lssl -Lcrypto -Lgdi32 -lQtXmld4 -lQtGuid4 -lQtNetworkd4 -lQtCored4

mingw32-make[1]: Leaving directory `C:/workspace/qt/qtdialer/QtDialer-build-desktop'

mingw32-make: Leaving directory `C:/workspace/qt/qtdialer/QtDialer-build-desktop'

debug/pjcallback.o:C:\workspace\qt\qtdialer\QtDialer-build-desktop/../QtDialer/pjcallback.cpp:159: undefined reference to `pj_log_get_level'

debug/pjcallback.o:C:\workspace\qt\qtdialer\QtDialer-build-desktop/../QtDialer/pjcallback.cpp:159: undefined reference to `pj_log_3'

collect2: ld returned 1 exit status

mingw32-make[1]: *** [debug\QtDialer.exe] Error 1

mingw32-make: *** [debug] Error 2

The process "C:/Qt/2010.05/mingw/bin/mingw32-make.exe" exited with code %2.
Error while building project QtDialer (target: Desktop)
When executing build step 'Make'
--------------------------------------

Any help in its resolution is appreciated!

squidge
4th January 2011, 17:36
The linker is not finding the functions 'pj_log_get_level' and 'pj_log_3'.

Where are these defined?

farooqmian
4th January 2011, 17:55
This method is in PJSip source file log.h file at the location pjsip\win\pjlib\include\pj