在xcode4.2上为pjsip编译的麻烦

时间:2022-06-01 20:24:54

While I run my project on xcode 4.2 I got this kind of response with 31 errors of .o file missing

当我在xcode 4.2上运行我的项目时,我得到了这种响应,错误地丢失了.o文件的31个错误

and that 31 error looks like this

并且31错误看起来像这样

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/Siphon2 setenv IPHONEOS_DEPLOYMENT_TARGET 4.0 setenv PATH "/Developer/Platforms/iPhoneOS.platform/Developer/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/Siphone/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 UIKit -framework AddressBookUI -framework AddressBook -framework Foundation -framework 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/Siphon2/Build/Siphon/Build/Products/Debug-iphoneos/Siphon.app/Siphon

Ld Build / Siphon / Build / Products / Debug-iphoneos / Siphon.app / Siphon normal armv7 cd / Users / jaxtrinc / Desktop / Siphone / Siphon2 setenv IPHONEOS_DEPLOYMENT_TARGET 4.0 setenv PATH“/Developer/Platforms/iPhoneOS.platform/Developer/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 / Siphone / 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 /产品/调试,iphone os -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 UIKit -framework AddressBookUI -framework AddressBook -framework Foundation-framework 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/Siphon2/Build/Siphon/Build/Products/Debug-iphoneos/Siphon.app/Siphon

Also I got 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 anyone help me to solve this ?

任何人都可以帮我解决这个问题吗?

1 个解决方案

#1


8  

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 run, you are a least building for armv7. It's the most important architecture as Apple only accepts builds with at least this architecture (if I'm not mistaken).

一个典型的iPhone项目编译三种不同的架构:armv6和armv7(iPhone处理器的两代不同)和i386(用于模拟器)。在当前的构建运行中,您是armv7的最少构建。这是最重要的架构,因为Apple只接受至少具有这种架构的构建(如果我没有记错的话)。

Unfortunately, the libraries you're linking with do not contain code for this architecture. (That's why you're getting the warnings at the top). The following error messages confirm that it's indeed caused by the pjsip and pjmedia libraries.

不幸的是,您链接的库不包含此体系结构的代码。 (这就是你在顶部收到警告的原因)。以下错误消息确认它确实是由pjsip和pjmedia库引起的。

I don't know whether you downloaded the libraries somewhere or built them from the source code. But you'll need libraries that are at least built for armv7. Even better would be to have libraries built for all architectures.

我不知道您是在某处下载了库还是从源代码构建它们。但是你需要至少为armv7构建的库。更好的方法是为所有架构构建库。

You best follow this section of the Getting Started page that shows how to build for multiple architectures.

您最好按照“入门”页面的这一部分来说明如何构建多个体系结构。

#1


8  

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 run, you are a least building for armv7. It's the most important architecture as Apple only accepts builds with at least this architecture (if I'm not mistaken).

一个典型的iPhone项目编译三种不同的架构:armv6和armv7(iPhone处理器的两代不同)和i386(用于模拟器)。在当前的构建运行中,您是armv7的最少构建。这是最重要的架构,因为Apple只接受至少具有这种架构的构建(如果我没有记错的话)。

Unfortunately, the libraries you're linking with do not contain code for this architecture. (That's why you're getting the warnings at the top). The following error messages confirm that it's indeed caused by the pjsip and pjmedia libraries.

不幸的是,您链接的库不包含此体系结构的代码。 (这就是你在顶部收到警告的原因)。以下错误消息确认它确实是由pjsip和pjmedia库引起的。

I don't know whether you downloaded the libraries somewhere or built them from the source code. But you'll need libraries that are at least built for armv7. Even better would be to have libraries built for all architectures.

我不知道您是在某处下载了库还是从源代码构建它们。但是你需要至少为armv7构建的库。更好的方法是为所有架构构建库。

You best follow this section of the Getting Started page that shows how to build for multiple architectures.

您最好按照“入门”页面的这一部分来说明如何构建多个体系结构。