cancel
Showing results for 
Search instead for 
Did you mean: 
cancel

REM IOS undefined symbol for architecture arm64

edwin.ramana
Enthusiast
Enthusiast

I tried to use REM advanced sdk for iOS 11.6 ES 8

But when I replaced the old 11.5 sdk and compile the app xcode shows this error

Ld /Users/msi/Library/Developer/Xcode/DerivedData/REMDanamon-frtdfcaplqqfnpeenyzvoneiubsi/Build/Intermediates.noindex/REM6ES4.build/Debug-iphoneos/REM6ES4.build/Objects-normal/arm64/REM6ES4 normal arm64
cd /Users/msi/Desktop/REM6ES4
export IPHONEOS_DEPLOYMENT_TARGET=8.0
export PATH="/Users/msi/Desktop/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Users/msi/Desktop/Xcode.app/Contents/Developer/usr/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
/Users/msi/Desktop/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch arm64 -isysroot /Users/msi/Desktop/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.2.sdk -L/Users/msi/Library/Developer/Xcode/DerivedData/REMDanamon-frtdfcaplqqfnpeenyzvoneiubsi/Build/Products/Debug-iphoneos -L/Users/msi/Desktop/assist_ios_sdk -F/Users/msi/Library/Developer/Xcode/DerivedData/REMDanamon-frtdfcaplqqfnpeenyzvoneiubsi/Build/Products/Debug-iphoneos -F/Users/msi/Desktop/REM6ES4/target/lib -F/Users/msi/Desktop/REM6ES4/Frameworks -filelist /Users/msi/Library/Developer/Xcode/DerivedData/REMDanamon-frtdfcaplqqfnpeenyzvoneiubsi/Build/Intermediates.noindex/REM6ES4.build/Debug-iphoneos/REM6ES4.build/Objects-normal/arm64/REM6ES4.LinkFileList -Xlinker -no_pie -miphoneos-version-min=8.0 -dead_strip -Xlinker -object_path_lto -Xlinker /Users/msi/Library/Developer/Xcode/DerivedData/REMDanamon-frtdfcaplqqfnpeenyzvoneiubsi/Build/Intermediates.noindex/REM6ES4.build/Debug-iphoneos/REM6ES4.build/Objects-normal/arm64/REM6ES4_lto.o -Xlinker -no_deduplicate -fobjc-arc -fobjc-link-runtime -ObjC -lc++ -framework ACBClientSDK -framework WebKit -framework MobileCoreServices -framework ImageIO -lAssistSDK -framework GLKit -lsqlite3 -lc++ -framework Foundation -framework MediaPlayer -framework SystemConfiguration -licucore -framework CFNetwork -framework Security -framework OpenGLES -framework CoreVideo -framework CoreMedia -framework QuartzCore -framework AudioToolbox -framework AVFoundation -framework UIKit -framework CoreGraphics -Xlinker -dependency_info -Xlinker /Users/msi/Library/Developer/Xcode/DerivedData/REMDanamon-frtdfcaplqqfnpeenyzvoneiubsi/Build/Intermediates.noindex/REM6ES4.build/Debug-iphoneos/REM6ES4.build/Objects-normal/arm64/REM6ES4_dependency_info.dat -o /Users/msi/Library/Developer/Xcode/DerivedData/REMDanamon-frtdfcaplqqfnpeenyzvoneiubsi/Build/Intermediates.noindex/REM6ES4.build/Debug-iphoneos/REM6ES4.build/Objects-normal/arm64/REM6ES4

ld: warning: directory not found for option '-F/Users/msi/Desktop/REM6ES4/target/lib'
ld: warning: -no_pie ignored for arm64
Undefined symbols for architecture arm64:
"_kVTCompressionPropertyKey_ProfileLevel", referenced from:
webrtc::H264VideoToolboxEncoder::ConfigureCompressionSession() in ACBClientSDK(h264_video_toolbox_encoder.o)
"_kVTCompressionPropertyKey_AllowFrameReordering", referenced from:
webrtc::H264VideoToolboxEncoder::ConfigureCompressionSession() in ACBClientSDK(h264_video_toolbox_encoder.o)
"_VTCompressionSessionCreate", referenced from:
webrtc::H264VideoToolboxEncoder::ResetCompressionSession() in ACBClientSDK(h264_video_toolbox_encoder.o)
"_kVTCompressionPropertyKey_DataRateLimits", referenced from:
webrtc::H264VideoToolboxEncoder::SetEncoderBitrateBps(unsigned int) in ACBClientSDK(h264_video_toolbox_encoder.o)
"_kVTCompressionPropertyKey_MaxKeyFrameInterval", referenced from:
webrtc::H264VideoToolboxEncoder::ConfigureCompressionSession() in ACBClientSDK(h264_video_toolbox_encoder.o)
"_kVTProfileLevel_H264_Baseline_4_0", referenced from:
internal::ExtractProfile(cricket::VideoCodec const&) in ACBClientSDK(h264_video_toolbox_encoder.o)
"_kVTCompressionPropertyKey_AverageBitRate", referenced from:
webrtc::H264VideoToolboxEncoder::SetEncoderBitrateBps(unsigned int) in ACBClientSDK(h264_video_toolbox_encoder.o)
"_kVTProfileLevel_H264_Main_4_0", referenced from:
internal::ExtractProfile(cricket::VideoCodec const&) in ACBClientSDK(h264_video_toolbox_encoder.o)
"_kVTProfileLevel_H264_Baseline_3_1", referenced from:
internal::ExtractProfile(cricket::VideoCodec const&) in ACBClientSDK(h264_video_toolbox_encoder.o)
"_kVTProfileLevel_H264_Baseline_3_2", referenced from:
internal::ExtractProfile(cricket::VideoCodec const&) in ACBClientSDK(h264_video_toolbox_encoder.o)
"_kVTProfileLevel_H264_Baseline_4_1", referenced from:
internal::ExtractProfile(cricket::VideoCodec const&) in ACBClientSDK(h264_video_toolbox_encoder.o)
"_VTCompressionSessionInvalidate", referenced from:
webrtc::H264VideoToolboxEncoder::DestroyCompressionSession() in ACBClientSDK(h264_video_toolbox_encoder.o)
"_kVTProfileLevel_H264_Baseline_4_2", referenced from:
internal::ExtractProfile(cricket::VideoCodec const&) in ACBClientSDK(h264_video_toolbox_encoder.o)
"_kVTEncodeFrameOptionKey_ForceKeyFrame", referenced from:
webrtc::H264VideoToolboxEncoder::Encode(webrtc::VideoFrame const&, webrtc::CodecSpecificInfo const*, std::_1::vector<webrtc::FrameType, std::_1::allocator<webrtc::FrameType> > const*) in ACBClientSDK(h264_video_toolbox_encoder.o)
"_kVTProfileLevel_H264_Baseline_5_0", referenced from:
internal::ExtractProfile(cricket::VideoCodec const&) in ACBClientSDK(h264_video_toolbox_encoder.o)
"_VTCompressionSessionGetPixelBufferPool", referenced from:
webrtc::H264VideoToolboxEncoder::Encode(webrtc::VideoFrame const&, webrtc::CodecSpecificInfo const*, std::_1::vector<webrtc::FrameType, std::_1::allocator<webrtc::FrameType> > const*) in ACBClientSDK(h264_video_toolbox_encoder.o)
"_kVTProfileLevel_H264_Baseline_5_2", referenced from:
internal::ExtractProfile(cricket::VideoCodec const&) in ACBClientSDK(h264_video_toolbox_encoder.o)
"_kVTProfileLevel_H264_Baseline_5_1", referenced from:
internal::ExtractProfile(cricket::VideoCodec const&) in ACBClientSDK(h264_video_toolbox_encoder.o)
"_kVTProfileLevel_H264_Main_AutoLevel", referenced from:
internal::ExtractProfile(cricket::VideoCodec const&) in ACBClientSDK(h264_video_toolbox_encoder.o)
"_kVTProfileLevel_H264_High_4_0", referenced from:
internal::ExtractProfile(cricket::VideoCodec const&) in ACBClientSDK(h264_video_toolbox_encoder.o)
"_VTCompressionSessionEncodeFrame", referenced from:
webrtc::H264VideoToolboxEncoder::Encode(webrtc::VideoFrame const&, webrtc::CodecSpecificInfo const*, std::_1::vector<webrtc::FrameType, std::_1::allocator<webrtc::FrameType> > const*) in ACBClientSDK(h264_video_toolbox_encoder.o)
"_kVTProfileLevel_H264_High_3_2", referenced from:
internal::ExtractProfile(cricket::VideoCodec const&) in ACBClientSDK(h264_video_toolbox_encoder.o)
"_kVTProfileLevel_H264_High_4_1", referenced from:
internal::ExtractProfile(cricket::VideoCodec const&) in ACBClientSDK(h264_video_toolbox_encoder.o)
"_kVTCompressionPropertyKey_MaxKeyFrameIntervalDuration", referenced from:
webrtc::H264VideoToolboxEncoder::ConfigureCompressionSession() in ACBClientSDK(h264_video_toolbox_encoder.o)
"_kVTProfileLevel_H264_High_4_2", referenced from:
internal::ExtractProfile(cricket::VideoCodec const&) in ACBClientSDK(h264_video_toolbox_encoder.o)
"_kVTProfileLevel_H264_High_5_0", referenced from:
internal::ExtractProfile(cricket::VideoCodec const&) in ACBClientSDK(h264_video_toolbox_encoder.o)
"_kVTDecompressionPropertyKey_RealTime", referenced from:
webrtc::H264VideoToolboxDecoder::ResetDecompressionSession() in ACBClientSDK(h264_video_toolbox_decoder.o)
"_kVTProfileLevel_H264_High_5_1", referenced from:
internal::ExtractProfile(cricket::VideoCodec const&) in ACBClientSDK(h264_video_toolbox_encoder.o)
"_kVTProfileLevel_H264_High_5_2", referenced from:
internal::ExtractProfile(cricket::VideoCodec const&) in ACBClientSDK(h264_video_toolbox_encoder.o)
"_kVTProfileLevel_H264_Baseline_AutoLevel", referenced from:
internal::ExtractProfile(cricket::VideoCodec const&) in ACBClientSDK(h264_video_toolbox_encoder.o)
"_kVTProfileLevel_H264_Main_3_1", referenced from:
internal::ExtractProfile(cricket::VideoCodec const&) in ACBClientSDK(h264_video_toolbox_encoder.o)
"_kVTProfileLevel_H264_Main_5_0", referenced from:
internal::ExtractProfile(cricket::VideoCodec const&) in ACBClientSDK(h264_video_toolbox_encoder.o)
"_VTDecompressionSessionDecodeFrame", referenced from:
webrtc::H264VideoToolboxDecoder::Decode(webrtc::EncodedImage const&, bool, webrtc::RTPFragmentationHeader const*, webrtc::CodecSpecificInfo const*, long long) in ACBClientSDK(h264_video_toolbox_decoder.o)
"_kVTProfileLevel_H264_Main_4_2", referenced from:
internal::ExtractProfile(cricket::VideoCodec const&) in ACBClientSDK(h264_video_toolbox_encoder.o)
"_kVTProfileLevel_H264_Main_5_1", referenced from:
internal::ExtractProfile(cricket::VideoCodec const&) in ACBClientSDK(h264_video_toolbox_encoder.o)
"_kVTProfileLevel_H264_Main_4_1", referenced from:
internal::ExtractProfile(cricket::VideoCodec const&) in ACBClientSDK(h264_video_toolbox_encoder.o)
"_kVTProfileLevel_H264_High_AutoLevel", referenced from:
internal::ExtractProfile(cricket::VideoCodec const&) in ACBClientSDK(h264_video_toolbox_encoder.o)
"_kVTProfileLevel_H264_Main_5_2", referenced from:
internal::ExtractProfile(cricket::VideoCodec const&) in ACBClientSDK(h264_video_toolbox_encoder.o)
"_kVTProfileLevel_H264_High_3_1", referenced from:
internal::ExtractProfile(cricket::VideoCodec const&) in ACBClientSDK(h264_video_toolbox_encoder.o)
"_kVTProfileLevel_H264_Baseline_3_0", referenced from:
internal::ExtractProfile(cricket::VideoCodec const&) in ACBClientSDK(h264_video_toolbox_encoder.o)
"_VTSessionSetProperty", referenced from:
webrtc::H264VideoToolboxDecoder::ResetDecompressionSession() in ACBClientSDK(h264_video_toolbox_decoder.o)
internal::SetVTSessionProperty(void const*, __CFString const*, int) in ACBClientSDK(h264_video_toolbox_encoder.o)
internal::SetVTSessionProperty(void const*, __CFString const*, unsigned int) in ACBClientSDK(h264_video_toolbox_encoder.o)
internal::SetVTSessionProperty(void const*, __CFString const*, bool) in ACBClientSDK(h264_video_toolbox_encoder.o)
internal::SetVTSessionProperty(void const*, __CFString const*, __CFString const*) in ACBClientSDK(h264_video_toolbox_encoder.o)
webrtc::H264VideoToolboxEncoder::SetEncoderBitrateBps(unsigned int) in ACBClientSDK(h264_video_toolbox_encoder.o)
"_kVTProfileLevel_H264_Main_3_2", referenced from:
internal::ExtractProfile(cricket::VideoCodec const&) in ACBClientSDK(h264_video_toolbox_encoder.o)
"_kVTCompressionPropertyKey_RealTime", referenced from:
webrtc::H264VideoToolboxEncoder::ConfigureCompressionSession() in ACBClientSDK(h264_video_toolbox_encoder.o)
"_kVTProfileLevel_H264_High_3_0", referenced from:
internal::ExtractProfile(cricket::VideoCodec const&) in ACBClientSDK(h264_video_toolbox_encoder.o)
"_kVTProfileLevel_H264_Main_3_0", referenced from:
internal::ExtractProfile(cricket::VideoCodec const&) in ACBClientSDK(h264_video_toolbox_encoder.o)
"_VTDecompressionSessionCreate", referenced from:
webrtc::H264VideoToolboxDecoder::ResetDecompressionSession() in ACBClientSDK(h264_video_toolbox_decoder.o)
"_VTDecompressionSessionInvalidate", referenced from:
webrtc::H264VideoToolboxDecoder::DestroyDecompressionSession() in ACBClientSDK(h264_video_toolbox_decoder.o)
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

any idea?

 

Thx

1 ACCEPTED SOLUTION

Accepted Solutions

Hi Edwin,

 

I also think 

Metal.framework is needed in some circumstances according to the latest unpublished documents. I'll raise a bug for this.

 

Select the following iOS native dependencies from the iOS folder:

 OpenGLES.framework

 CoreVideo.framework

 CoreMedia.framework

 QuartzCore.framework

 AudioToolbox.framework

 AVFoundation.framework

 UIKit.framework

 Foundation.framework

 CoreGraphics.framework

 CFNetwork.framework

 Security.framework

 libicucore.dylib.

 GLKit.framework

 VideoToolbox.framework

 Metal.framework

 libsqlite3.tbd (or equivalent alternative)

 libc++.tbd (or equivalent alternative)

View solution in original post

3 REPLIES 3

rdoyle001
Beginner
Beginner
Hi Edwin,

According to
https://stackoverflow.com/questions/9458739/ld-warning-directory-not-found-for-option
the general solution is to:


1. Click on your project (targets)
2. Click on *Build Settings*
3. Under *Library Search Paths*, delete the paths

Rob

Hi Rob,

 

That's not the solution for this problem but I've fixed the problem now.

I need to add videotoolbox.framewok for REM 11.6, I don't need to add that framework on older release(REM 10.6&11.5).

But it's not stated on Cisco Remote Expert Mobile Advanced Developer's Guide, Release 11.6 (1)

 

Regards, 

 

Edwin R

Hi Edwin,

 

I also think 

Metal.framework is needed in some circumstances according to the latest unpublished documents. I'll raise a bug for this.

 

Select the following iOS native dependencies from the iOS folder:

 OpenGLES.framework

 CoreVideo.framework

 CoreMedia.framework

 QuartzCore.framework

 AudioToolbox.framework

 AVFoundation.framework

 UIKit.framework

 Foundation.framework

 CoreGraphics.framework

 CFNetwork.framework

 Security.framework

 libicucore.dylib.

 GLKit.framework

 VideoToolbox.framework

 Metal.framework

 libsqlite3.tbd (or equivalent alternative)

 libc++.tbd (or equivalent alternative)

Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community: