我有一个跨平台的共享库,我正在使用GNU autotools构建系统。我希望能够将库打包为OS X上的框架。是否可以使用autotools +附加脚本执行此操作,例如的bash?
是否有任何好的文档可以做到这一点,或者有人知道这样做的项目示例,我可以复制吗?
答案 0 :(得分:3)
框架是一个美化的目录,包含元数据文件(Info.plist)和一个或多个库。我不确定是否有自动工具支持框架,但类似于:
# create/cd MyFramework.framework
mkdir MyFramework.framework
cd MyFramework.framework
# create/cd MyFramework.framework/Versions
mkdir Versions
cd Versions
# create/cd MyFramework.framework/Versions/A
mkdir A
cd A
# create MyFramework.framework/Versions/A/MyFramework (the dylib)
cp /path/to/mylibrary.dylib MyFramework
# create MyFramework.framework/Versions/A/Resources
mkdir Resources
# create MyFramework.framework/Versions/A/Resources/Info.plist
cp /path/to/Info.plist Resources
# cd to MyFramework.framework/Versions
cd ..
# create MyFramework.framework/Versions/Current -> A
ln -s A Current
# cd to Myframework.framework
cd ..
# create MyFramework.framework/MyFramework -> Versions/Current/MyFramework
ln -s Versions/Current/MyFramework MyFramework
# create MyFramework.framework/Resources -> Versions/Current/Resources
ln -s Versions/Current/Resources Resources
鉴于正确定义的Info.plist文件和mylibrary.dylib,应该足够了。
有关框架目录结构和Info.plist内容的更多信息,请参阅Framework Programming Guide。