我有一个应用程序,它在OS X上编译clang ++和g ++版本4.7。我编写的应用程序使用第三方sdks,例如opencv,glfw等等。截至目前,我可以创建一个可执行文件,但由于依赖性,它只能在我自己的计算机上运行。 OS X开发人员使用哪些工具来导出他们的应用程序(即使它们可安装或包含所有库的可执行文件)?还有一个限制,我目前的操作系统是山狮,但我希望这可以向后兼容至少10.6或10.5,这是x64开关。
答案 0 :(得分:0)
您打算将您的应用分发为application bundle,还是将其作为可执行的二进制文件分发?
如果它是一个应用程序包,您可以获取并链接到您的第三方SDK作为框架(例如OpenCV.framework),那么您可以通过将框架复制到AppName.app/Contents/Frameworks/
文件夹中来分发框架。
如果它不是应用程序包,或者您无法将第三方SDK作为框架获取,那么您需要静态链接到这些SDK。有关如何执行此操作的详细信息,请参阅this question。
要构建早期版本的OS X,请在构建程序之前设置MACOSX_DEPLOYMENT_TARGET
环境变量。例如:
export MACOSX_DEPLOYMENT_TARGET=10.6
答案 1 :(得分:0)
首先,学习如何制作一个捆绑包,它会为你节省很多痛苦。其次,你应该能够编译旧版本的OSX,但实际上它很难使其工作。最好保留较旧的安装。