Re: Urgent:Need help linking libgloox.7.lib in xcode 3.0
From: "Tobias Markmann" <tmarkmann@xxxxxxxxxxxxxx>
Date: Wed, 02 Jul 2008 13:56:41 +0200
On Wed, Jul 2, 2008 at 11:28 AM, Tang Ke <tang.ke@xxxxxxxxxxx> wrote:

> Hi,
>
> We're new to gloox and having problems linking libgloox.7.dylib in iphone
> project using xcode 3.0.
>
> We followed the instructions and built libgloox.7.dylib and dragged it in
> the "Other sources" folder of the project.
> Also included all the header files and tried to compile the message_test
> example.
>
> The errors are as follows:
>
> *Building target "xmpptest" of project "xmpptest" with configuration
> "Debug" — (9 errors, 1 warning)*
>
> * *    cd /Users/tangke/Desktop/xmpptest
>
>     /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc-4.0
> -x objective-c++ -arch i386 -fmessage-length=0 -pipe -Wno-trigraphs
> -fpascal-strings -fasm-blocks -O0 -Wreturn-type -Wunused-variable
> -D__IPHONE_OS_VERSION_MIN_REQUIRED=20000 -isysroot
> /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator2.0.sdk
> -fvisibility=hidden -fvisibility-inlines-hidden -mmacosx-version-min=10.5
> -gdwarf-2 -iquote
> /Users/tangke/Desktop/xmpptest/build/xmpptest.build/Debug-iphonesimulator/xmpptest.build/xmpptest-generated-files.hmap
> -I/Users/tangke/Desktop/xmpptest/build/xmpptest.build/Debug-iphonesimulator/xmpptest.build/xmpptest-own-target-headers.hmap
> -I/Users/tangke/Desktop/xmpptest/build/xmpptest.build/Debug-iphonesimulator/xmpptest.build/xmpptest-all-target-headers.hmap
> -iquote
> /Users/tangke/Desktop/xmpptest/build/xmpptest.build/Debug-iphonesimulator/xmpptest.build/xmpptest-project-headers.hmap
> -F/Users/tangke/Desktop/xmpptest/build/Debug-iphonesimulator
> -I/Users/tangke/Desktop/xmpptest/build/Debug-iphonesimulator/include
> -I/Users/tangke/Desktop/xmpptest/build/xmpptest.build/Debug-iphonesimulator/xmpptest.build/DerivedSources
> -include
> /var/folders/ej/ej0dzZkNGLy3ao3HT6INTE+++TI/-Caches-/com.apple.Xcode.501/SharedPrecompiledHeaders/xmpptest_Prefix-eucdershvzielcbsrpsgbyckvogv/xmpptest_Prefix.pch
> -c /Users/tangke/Desktop/xmpptest/Classes/xmpptestViewController.m -o
> /Users/tangke/Desktop/xmpptest/build/xmpptest.build/Debug-iphonesimulator/xmpptest.build/Objects-normal/i386/xmpptestViewController.o
>
> */Users/tangke/Desktop/xmpptest/Classes/xmpptestViewController.m: In
> function 'void -[xmpptestViewController test](xmpptestViewController*,
> objc_selector*)':*
>
> */Users/tangke/Desktop/xmpptest/Classes/xmpptestViewController.m:14:
> warning: unused variable 'test'*
>
> * /Users/tangke/Desktop/xmpptest/Classes/xmpptestViewController.m:14:
> warning: unused variable 'test'*
>
> * *    cd /Users/tangke/Desktop/xmpptest
>
>     /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/g++-4.0
> -arch i386 -isysroot
> /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator2.0.sdk
> -L/Users/tangke/Desktop/xmpptest/build/Debug-iphonesimulator
> -L/Users/tangke/Desktop/xmpptest
> -F/Users/tangke/Desktop/xmpptest/build/Debug-iphonesimulator -filelist
> /Users/tangke/Desktop/xmpptest/build/xmpptest.build/Debug-iphonesimulator/xmpptest.build/Objects-normal/i386/xmpptest.LinkFileList
> -mmacosx-version-min=10.5 -framework Foundation -framework UIKit -lgloox.7
> -o
> /Users/tangke/Desktop/xmpptest/build/Debug-iphonesimulator/xmpptest.app/xmpptest
>
> *ld warning: in /Users/tangke/Desktop/xmpptest/libgloox.7.dylib, file is
> not of required architecture*
>
> *Undefined symbols:*
>
> *
> "gloox::MessageEventFilter::raiseMessageEvent(gloox::MessageEventType)",
> referenced from:*
>
> *      MessageTest::handleMessage(gloox::Stanza*, gloox::MessageSession*)
>     in xmpptestViewController.o*
>
> *      MessageTest::handleMessage(gloox::Stanza*, gloox::MessageSession*)
>     in xmpptestViewController.o*
>
> *  "gloox::ChatStateFilter::ChatStateFilter(gloox::MessageSession*)",
> referenced from:*
>
> *      MessageTest::handleMessageSession(gloox::MessageSession*)
> in xmpptestViewController.o*
>
> *  "gloox::MessageEventFilter::MessageEventFilter(gloox::MessageSession*,
> int)", referenced from:*
>
> *      MessageTest::handleMessageSession(gloox::MessageSession*)
> in xmpptestViewController.o*
>
> *
> "gloox::MessageSession::registerMessageHandler(gloox::MessageHandler*)",
> referenced from:*
>
> *      MessageTest::handleMessageSession(gloox::MessageSession*)
> in xmpptestViewController.o*
>
> *  "gloox::ClientBase::disposeMessageSession(gloox::MessageSession*)",
> referenced from:*
>
> *      MessageTest::handleMessageSession(gloox::MessageSession*)
> in xmpptestViewController.o*
>
> *
> "gloox::MessageEventFilter::registerMessageEventHandler(gloox::MessageEventHandler*)",
> referenced from:*
>
> *      MessageTest::handleMessageSession(gloox::MessageSession*)
> in xmpptestViewController.o*
>
> *  "gloox::Client::disconnect()", referenced from:*
>
> *      MessageTest::handleMessage(gloox::Stanza*, gloox::MessageSession*)
>     in xmpptestViewController.o*
>
> *
> "gloox::ChatStateFilter::registerChatStateHandler(gloox::ChatStateHandler*)",
> referenced from:*
>
> *      MessageTest::handleMessageSession(gloox::MessageSession*)
> in xmpptestViewController.o*
>
> *  "gloox::ChatStateFilter::setChatState(gloox::ChatStateType)",
> referenced from:*
>
> *      MessageTest::handleMessage(gloox::Stanza*, gloox::MessageSession*)
>     in xmpptestViewController.o*
>
> *ld: symbol(s) not found*
>
> *collect2: ld returned 1 exit status*
>
> *
> "gloox::MessageEventFilter::raiseMessageEvent(gloox::MessageEventType)",
> referenced from:*
>
> *       MessageTest::handleMessage(gloox::Stanza*,
> gloox::MessageSession*)      in xmpptestViewController.o*
>
> *       MessageTest::handleMessage(gloox::Stanza*,
> gloox::MessageSession*)      in xmpptestViewController.o*
>
> *   "gloox::ChatStateFilter::ChatStateFilter(gloox::MessageSession*)",
> referenced from:*
>
> *       MessageTest::handleMessageSession(gloox::MessageSession*)
> in xmpptestViewController.o*
>
> *   "gloox::MessageEventFilter::MessageEventFilter(gloox::MessageSession*,
> int)", referenced from:*
>
> *       MessageTest::handleMessageSession(gloox::MessageSession*)
> in xmpptestViewController.o*
>
> *
> "gloox::MessageSession::registerMessageHandler(gloox::MessageHandler*)",
> referenced from:*
>
> *       MessageTest::handleMessageSession(gloox::MessageSession*)
> in xmpptestViewController.o*
>
> *   "gloox::ClientBase::disposeMessageSession(gloox::MessageSession*)",
> referenced from:*
>
> *       MessageTest::handleMessageSession(gloox::MessageSession*)
> in xmpptestViewController.o*
>
> *
> "gloox::MessageEventFilter::registerMessageEventHandler(gloox::MessageEventHandler*)",
> referenced from:*
>
> *       MessageTest::handleMessageSession(gloox::MessageSession*)
> in xmpptestViewController.o*
>
> *   "gloox::Client::disconnect()", referenced from:*
>
> *       MessageTest::handleMessage(gloox::Stanza*,
> gloox::MessageSession*)      in xmpptestViewController.o*
>
> *
> "gloox::ChatStateFilter::registerChatStateHandler(gloox::ChatStateHandler*)",
> referenced from:*
>
> *       MessageTest::handleMessageSession(gloox::MessageSession*)
> in xmpptestViewController.o*
>
> *   "gloox::ChatStateFilter::setChatState(gloox::ChatStateType)",
> referenced from:*
>
> *       MessageTest::handleMessage(gloox::Stanza*,
> gloox::MessageSession*)      in xmpptestViewController.o*
>
> * ld: symbol(s) not found*
>
> * collect2: ld returned 1 exit status*
>
> Build failed (9 errors, 1 warning)
>
> It seems that the problem lies in linking the libgloox.7.lib, and we tried
> all day yesterday but failed. I hope someone could help me on this.
>
> Thanks a million,
>
> Tang
> --
> Tang Ke
> Mapflow, 4 Merrion Square, Dublin 2, Ireland
> www.mapflow.com
> (\_/)
> (o.o)
> (___)0
> --
> gloox-dev mailing list
> to unsubscribe:
> send a message with subject 'unsubscribe gloox-dev' to
> minimalist@xxxxxxxxxx



Well. Your compiled gloox library seems to be for another architecture than
iPhone is running on. To see what your gloox.dylib or gloox.a is build for
just do:
 "lipo -info libgloox.dylib"

You need to build gloox for the architecture you want it running on.
Therefore OS X's gcc has the -arch flag (for details see manual) where you
can define the architectures you want it build for. The same way you can
build universal binaries.

Cheers,
Tobias
-- 
gloox-dev mailing list
to unsubscribe:
send a message with subject 'unsubscribe gloox-dev' to minimalist@xxxxxxxxxx