我使用 Eclipse IDE 在 Mac OS X 上为 C/C++ 开发人员创建了一个 C++应用程序。
我的应用程序包括外部库,例如:PortAudio
和Aubio
(wxWidgets
动态链接)。
如何创建安装程序,以便可以将应用程序安装在 Mac OS X 计算机上?
我使用 Eclipse IDE 在 Mac OS X 上为 C/C++ 开发人员创建了一个 C++应用程序。
我的应用程序包括外部库,例如:PortAudio
和Aubio
(wxWidgets
动态链接)。
如何创建安装程序,以便可以将应用程序安装在 Mac OS X 计算机上?
你不是第一个遇到这个问题的人(不足为奇): https ://developer.apple.com/library/mac/#documentation/porting/conceptual/portingunix/intro/intro.html
我假设您正在开发将存在于 /Applications/MyApp.app 中的东西。
除非你真的想用随机分类的库来弄乱用户的系统,否则你不会. OSX 没有像您在其他 *nixes 上习惯的那样进行包管理;安装动态库/框架的唯一原因是如果您是该框架的官方分销商(并且可以保证合理的版本控制、向后兼容性,并且希望不会与其他人的包发生冲突),或者如果您有一套应用程序并且想要减少安装膨胀(例如 StuffIt)。但是这些东西永远卸载不了!
更常见的做法是在 .app 包中嵌入库,例如在 Contents/MacOS、Contents/usr/lib、Contents/Frameworks 或其他任何地方。确切的路径并不重要(为了简单起见,我很想使用 Contents/MacOS)。然后,您可以使用相对路径(@executable_path、@load_path 或 @rpath )访问库,这通常涉及调整您使用install-name-tool构建的库。IIRC、Adium、Audacity 和 Firefox 都这样做,以及(可能)更多。
我不记得我脑海中的教程。