为非Cocoa的Mac C++项目构建应用程序包

5
我正在使用Xcode 4.3.3构建一个C++ OpenGL纸牌游戏,希望在64位和32位Mac上运行,这不是我的问题。 我的问题是,在程序开发中,我想测试它在不安装Xcode的情况下在另一台32位Mac上是否可用。很明显,这需要我将其导出为.app文件。通过终端,我可以找到并运行项目导出的Unix可执行文件,但这对于我和预期受众来说都是不理想的。我已经搜索了谷歌和Stack Overflow,寻找任何可以帮助我的东西,但所有提到存档的东西似乎都在我的特定项目上失败了,我认为这是因为它是一个C++命令行工具项目。所以,请有人帮我将我的项目导出为.app文件吗? 提前致谢。
3个回答

7
最简单的方法是创建一个Cocoa项目,进入“build phases”并从“link with libraries”构建阶段中删除所有的Objective-C框架,删除模板添加的任何Objective-C文件(应用委托等),然后用你的main.cpp文件替换main.c。
Cocoa项目没有什么特别的地方,除了它链接到Cocoa并从它的main()函数调用NSApplicationMain()。
还有一堆Cocoa使用的.plist条目,你将不再需要它们。但它们不会影响OS X对你的应用程序的处理方式。

这个完美地运行了,正是我想要的,经过一些设置上的调整,存档工作了,它给了我我的 .app 文件,非常感谢! - William Gilmour
谢谢!我还担心要学习Objective-C++才能做到这一点呢。如果这么简单,为什么在Xcode中创建新的Cocoa应用程序时没有选择C++作为语言的选项呢? - bapibopi

0
我正在寻找一个XCode设置的解决方案,但这是我目前创建应用程序的方法:
你必须将二进制文件(比如说myapp)放在"MyApp.app/Contents/MacOS/myapp"中,然后它就可以作为一个.app启动了。这是一个技巧。

-1
只需在左侧文件浏览器中转到目标文件夹,然后在其中列出可执行文件。单击此可执行文件并单击“在查找器中显示”即可。(我是根据记忆来描述的,所以可能有些细节不正确。)文件路径非常长(涉及任意字母数字路径名,我不知道原因),因此您可能无法使用命令行找到它。
如果需要,可以将文件扩展名从无更改为".app",这不会影响文件的性质。另外,如果您想要自定义图标,可以在查找器中获取有关其信息,然后单击信息窗口中的图标,并使用Cmd-V将其粘贴进去(显然,您必须将图标复制到剪贴板上)。还有一种方法可以在Xcode内完成此操作,但我不记得了。

下投票者是否愿意提出建议,说明我的回答有什么问题? - Michael Dorst
不确定是谁提供的建议,但我尝试了你所建议的方法,但它没有起作用 :( 当我尝试运行它时,它显示“经典环境不再受支持”,因此我想你的信息可能已经过时了。此外,仅仅重命名Unix exe并不能创建应用程序的内部文件结构,这似乎只有Xcode才能做到。 - William Gilmour

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接