【发布时间】:2011-11-15 16:59:33
【问题描述】:
我有一个包含版本 a b 和 c 的框架 (FRAME1),然后将其作为依赖项包含在另一个框架 (FRAME2) 中。
但是,当我构建 FRAME2 时,它消失了:ld:framework not found <nameofframework>
我已经将frame1的安装位置设置为/Library/Frameworks,我也将它设置为@rpath
但是 frame2 仍然出错。我已经硬编码了框架搜索路径,这也不会改变这种情况。
这里是 xcode 错误输出:
Ld build/Release/TSVideoAppKit.framework/Versions/B/TSVideoAppKit normal i386
cd /Users/benb/Projects/Telestream/swRelease/Pipeline/2.6/Dib/Code/Macintosh/Frameworks/TSVideoAppKit
setenv MACOSX_DEPLOYMENT_TARGET 10.5
/Xcode3/usr/bin/g++-4.0 -arch i386 -dynamiclib -isysroot /Xcode3/SDKs/MacOSX10.6.sdk -L/Users/benb/Projects/Telestream/swRelease/Pipeline/2.6/Dib/Code/Macintosh/Frameworks/TSVideoAppKit/build/Release -F/Users/benb/Projects/Telestream/swRelease/Pipeline/2.6/Dib/Code/Macintosh/Frameworks/TSVideoAppKit/build/Release -filelist /Users/benb/Projects/Telestream/swRelease/Pipeline/2.6/Dib/Code/Macintosh/Frameworks/TSVideoAppKit/build/TSVideoAppKit.build/Release/TSVideoAppKitFramework.build/Objects-normal/i386/TSVideoAppKit.LinkFileList -install_name /Library/Frameworks/TSVideoAppKit.framework/Versions/B/TSVideoAppKit -Xlinker -rpath -Xlinker /Library/Frameworks -mmacosx-version-min=10.5 -framework TSPipelineEngine -framework Cocoa -framework CoreVideo -framework OpenGL -framework QTKit -framework QuickTime -framework CoreAudio -single_module -compatibility_version 1 -current_version 1 -o /Users/benb/Projects/Telestream/swRelease/Pipeline/2.6/Dib/Code/Macintosh/Frameworks/TSVideoAppKit/build/Release/TSVideoAppKit.framework/Versions/B/TSVideoAppKit
ld: framework not found TSPipelineEngine
collect2: ld returned 1 exit status
Command /Xcode3/usr/bin/g++-4.0 failed with exit code 1
感谢您的帮助:)
【问题讨论】:
-
我看过这个,但似乎没有帮助:dribin.org/dave/blog/archives/2009/11/15/rpath
-
抱歉,您的问题太难理解了。请提供真实的例子,而不是foo,bar,并写完整的链接器错误。
标签: c++ objective-c cocoa frameworks