Compilation problem on xcode4.2 for pjsip

While I run my project on xcode 4.2, I got this answer with 31 errors of the missing .o file

, and this error looks something like this:

ld: warning: ignoring file ../pjproject-svn/pjlib/lib/libpj-arm-apple-darwin9.a, file was built for archive which is not the architecture being linked (armv7) ld: warning: ignoring file ../pjproject-svn/pjlib-util/lib/libpjlib-util-arm-apple-darwin9.a, file was built for archive which is not the architecture being linked (armv7) ld: warning: ignoring file ../pjproject-svn/pjnath/lib/libpjnath-arm-apple-darwin9.a, file was built for archive which is not the architecture being linked (armv7) ld: warning: ignoring file ../pjproject-svn/pjmedia/lib/libpjmedia-arm-apple-darwin9.a, file was built for archive which is not the architecture being linked (armv7) ld: warning: ignoring file ../pjproject-svn/pjsip/lib/libpjsip-arm-apple-darwin9.a, file was built for archive which is not the architecture being linked (armv7) ld: warning: ignoring file ../pjproject-svn/pjsip/lib/libpjsip-simple-arm-apple-darwin9.a, file was built for archive which is not the architecture being linked (armv7) ld: warning: ignoring file ../pjproject-svn/pjsip/lib/libpjsip-ua-arm-apple-darwin9.a, file was built for archive which is not the architecture being linked (armv7) ld: warning: ignoring file ../pjproject-svn/pjsip/lib/libpjsua-arm-apple-darwin9.a, file was built for archive which is not the architecture being linked (armv7) ld: warning: ignoring file ../pjproject-svn/pjmedia/lib/libpjmedia-codec-arm-apple-darwin9.a, file was built for archive which is not the architecture being linked (armv7) ld: warning: ignoring file ../pjproject-svn/third_party/lib/libgsmcodec-arm-apple-darwin9.a, file was built for archive which is not the architecture being linked (armv7) ld: warning: ignoring file ../pjproject-svn/pjmedia/lib/libpjmedia-audiodev-arm-apple-darwin9.a, file was built for archive which is not the architecture being linked (armv7) ld: warning: ignoring file ../pjproject-svn/third_party/lib/libresample-arm-apple-darwin9.a, file was built for archive which is not the architecture being linked (armv7) ld: warning: ignoring file ../pjproject-svn/third_party/lib/libg7221codec-arm-apple-darwin9.a, file was built for archive which is not the architecture being linked (armv7) Undefined symbols for architecture armv7: "_pjsua_call_get_count", referenced from: -[SiphonApplication processCallState:] in SiphonApplication.o -[SiphonApplication callDisconnecting] in SiphonApplication.o -[CallViewController processCall:] in CallViewController.o "_pjmedia_tonegen_play_digits", referenced from: _sip_call_play_digits in dtmf.o "_pjsua_acc_get_info", referenced from: _on_reg_state in call.o "_pjsua_perror", referenced from: _sip_connect in call.o _sip_dial_with_uri in call.o _call_init_tonegen in dtmf.o "_pjsua_conf_disconnect", referenced from: _sip_ring_stop in ring.o "_pjsua_call_is_active", referenced from: -[CallViewController findNextCall] in CallViewController.o "_pj_pool_calloc", referenced from: _sip_call_play_digits in dtmf.o _pj_pool_zalloc in dtmf.o "_pjsua_acc_is_valid", referenced from: _sip_disconnect in call.o "_pjsua_call_reinvite", referenced from: -[CallViewController setHoldEnabled:] in CallViewController.o "_pjsua_media_config_default", referenced from: _sip_startup in call.o "_pjsua_create", referenced from: _sip_startup in call.o "_pjsua_acc_add", referenced from: _sip_connect in call.o "_pjsua_acc_config_default", referenced from: _sip_connect in call.o "_pj_log_get_level", referenced from: _sip_startup in call.o _on_call_state in call.o _on_incoming_call in call.o _on_mwi_info in call.o _sip_connect in call.o _sip_dial_with_uri in call.o _sip_manage_codec in call.o ... "_pjsua_call_set_user_data", referenced from: _call_init_tonegen in dtmf.o _sip_call_deinit_tonegen in dtmf.o "_pjsua_conf_connect", referenced from: _on_call_media_state in call.o _sip_ringback_start in ring.o _call_init_tonegen in dtmf.o "_pjsua_call_get_user_data", referenced from: _sip_call_play_digits in dtmf.o _sip_call_deinit_tonegen in dtmf.o "_pjsua_call_dial_dtmf", referenced from: _sip_call_play_digits in dtmf.o "_pjsua_pool_create", referenced from: _sip_startup in call.o -[CallViewController createCall:] in CallViewController.o _call_init_tonegen in dtmf.o "_pjmedia_tonegen_play", referenced from: _sip_ring_init in ring.o "_pj_pool_release", referenced from: _sip_cleanup in call.o -[CallViewController createCall:] in CallViewController.o _call_init_tonegen in dtmf.o _sip_call_deinit_tonegen in dtmf.o "_pj_get_version", referenced from: _sip_startup in call.o "_pjsua_call_hangup", referenced from: _sip_hangup in call.o "_pjsua_msg_data_init", referenced from: _sip_call_play_info_digits in dtmf.o "_pj_strdup_with_null", referenced from: -[CallViewController createCall:] in CallViewController.o "_pj_rand", referenced from: _sip_startup in call.o "_pjsua_media_transports_create", referenced from: _sip_startup in call.o "_pjsua_destroy", referenced from: _sip_cleanup in call.o "_pj_strerror", referenced from: -[SiphonApplication displayStatus:withTitle:] in SiphonApplication.o "_pjsua_verify_sip_url", referenced from: -[SiphonApplication application:handleOpenURL:] in SiphonApplication.o _sip_connect in call.o _sip_dial_with_uri in call.o "_pjsua_call_send_request", referenced from: _sip_call_play_info_digits in dtmf.o "_pjsua_call_get_max_count", referenced from: -[CallViewController findNextCall] in CallViewController.o "_pj_strdup2_with_null", referenced from: _sip_startup in call.o -[CallViewController createCall:] in CallViewController.o "_pjmedia_tonegen_stop", referenced from: _sip_call_play_digits in dtmf.o "_pjsua_acc_del", referenced from: _sip_disconnect in call.o "_pjmedia_port_destroy", referenced from: _sip_ring_deinit in ring.o _sip_call_deinit_tonegen in dtmf.o "_pjsua_transport_config_default", referenced from: _sip_startup in call.o "_pjsua_conf_adjust_rx_level", referenced from: -[CallViewController setMute:] in CallViewController.o "_pjsua_codec_set_priority", referenced from: _sip_manage_codec in call.o "_pjmedia_tonegen_create2", referenced from: _sip_ring_init in ring.o "_pjsua_logging_config_default", referenced from: _sip_startup in call.o "_pjmedia_tonegen_create", referenced from: _call_init_tonegen in dtmf.o "_pjsua_call_make_call", referenced from: _sip_dial_with_uri in call.o "_pjsua_transport_create", referenced from: _sip_startup in call.o "_pj_strdup3", referenced from: _sip_startup in call.o "_pj_pool_alloc", referenced from: _sip_connect in call.o "_pjsip_parse_uri", referenced from: -[CallViewController createCall:] in CallViewController.o "_pj_str", referenced from: _sip_connect in call.o _sip_dial_with_uri in call.o _sip_ring_init in ring.o -[CallViewController composeDTMF] in CallViewController.o _sip_call_play_digit in dtmf.o _sip_call_play_info_digit in dtmf.o _sip_call_play_info_digits in dtmf.o ... "_pjsua_init", referenced from: _sip_startup in call.o "_pj_log_1", referenced from: _sip_startup in call.o _on_call_state in call.o _on_incoming_call in call.o _sip_connect in call.o _sip_dial_with_uri in call.o _sip_manage_codec in call.o "_pjsua_call_get_info", referenced from: _on_call_state in call.o _on_call_media_state in call.o _on_incoming_call in call.o -[CallViewController timeout:] in CallViewController.o _call_init_tonegen in dtmf.o "_pj_log_3", referenced from: _on_mwi_info in call.o "_pjsua_conf_remove_port", referenced from: _sip_ring_deinit in ring.o _sip_call_deinit_tonegen in dtmf.o "_pjsua_config_default", referenced from: _sip_startup in call.o "_pj_log_5", referenced from: _sip_dial_with_uri in call.o "_pjsua_conf_add_port", referenced from: _sip_ring_init in ring.o _call_init_tonegen in dtmf.o "_pjsip_get_status_text", referenced from: -[SiphonApplication application:handleOpenURL:] in SiphonApplication.o -[SiphonApplication dialup:number:] in SiphonApplication.o "_pjsua_call_set_hold", referenced from: -[CallViewController setHoldEnabled:] in CallViewController.o -[CallViewController buttonClicked:] in CallViewController.o "_pjsua_start", referenced from: _sip_startup in call.o "_pjsua_call_answer", referenced from: _on_incoming_call in call.o _sip_answer in call.o "_pjmedia_tonegen_rewind", referenced from: _sip_ring_stop in ring.o ld: symbol(s) not found for architecture armv7 clang: error: linker command failed with exit code 1 (use -v to see invocation) 

Ld Build / Siphon / Build / Products / Debug-iphoneos / Siphon.app / Siphon normal ARMv7 cd / Users / jaxtrinc / Desktop / Siphone / Siphon 2 setenv IPHONEOS_DEPLOYMENT_TARGET 4.0 setenv PATH "/Developer/Platforms/ePhone Platform / iPhone usr / bin: / Developer / usr / bin: / usr / bin: / bin: / usr / sbin: / sbin "/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/clang -arch armv7 -isysroot / Developer /Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk -L / Users / jaxtrinc / Desktop / siphon / Siphon2 / Build / Siphon / Build / Products / Debug-iphoneos -L ../ pjproject-svn / pjlib / lib -L ../ pjproject-svn / pjsip / lib -L ../ pjproject-svn / pjmedia / lib -L ../ pjproject-svn / pjlib-util / lib -L ../ pjproject-svn / pjnath / lib -L ../ pjproject-svn / third_party / lib -L ../ pjproject-svn / pjmedia / lib -L ../ pjproject-svn / third_party / lib -L / Users / jaxtrinc / Desktop / Siphone / Siphon2 /../pjproject-svn/third_party/lib -L / Users / jaxtrinc / Desktop / Siphone / Siphon2 /../pjproject-svn/pjmedia/lib -F / Users / jaxtrinc / Desktop / Siphone / Siphon2 / Build / Siphon / Build / Products / Debug-iphoneos-filelist / Users / jaxtrinc / Desktop / Siphone / Siphon2 / Build / Siphon / Build / Intermediates / Siphon.build / Debug-iphoneos / Siphon.build / Objects-normal / armv7 / Siphon.LinkFileList -dead_strip -framework Foundation -framework UIKit -miphoneos-version-min = 4.0 -framework SystemConfiguration -framework framework AddressBookUI -framework AddressBook -framework Founding program AudioToolbox -lpj-arm-apple-darwin9 -lpjlib-util-arm-apple-darwin9 -lpjnath-arm-apple-darwin9 -lpjmedia-arm-apple-darwin9 -lpjsip-arm-apple -darwin9 -lpjsip-simple-arm-apple-darwin9 -lpjsip-ua-arm -apple-darwin9 -lpjsua-arm-apple-darwin9 -framework CoreGraphics -lsqlite3.0 -lpjmedia-codec-arm-apple-darwin9 -lgsmcodec- arm-apple-darwin9 -framework CFNetwork -lpjmedia-audiodev-arm-apple-darwin9 -lresample-arm-apple-darwin9 -lg7221codec-arm-apple-darwin9 - framework IOKit -o / Users / jaxtrinc / Desktop / Siphone / Siphon 2 / Build / Siphon / Build / Products / Debug-iphoneos / Siphon.app / Siphon

I also got a linker error like

 ld: symbol(s) not found for architecture armv7 clang: error: linker command failed with exit code 1 (use -v to see invocation) 

Can someone help me solve this problem?

+8
ios iphone compilation pjsip
source share
1 answer

A typical iPhone project compiles for three different architectures: armv6 and armv7 (two different generations of the iPhone processor) and i386 (for the simulator). In the current build launch, you are least building armv7 . This is the most important architecture, because Apple only accepts assemblies with at least this architecture (if I'm not mistaken).

Unfortunately, the libraries you link to do not contain code for this architecture. (That's why you get warnings at the top). The following error messages confirm that they are actually caused by the pjsip and pjmedia libraries.

I don’t know whether libraries were loaded somewhere or built from source code. But you will need libraries that are at least built for armv7 . It would be even better to have libraries built for all architectures.

It is best to follow this section on the Getting Started page, which shows how to create for multiple architectures.

+7
source share

All Articles