我使用xcode的C ++命令行工具完成了游戏“河内之塔”的简单数字版本。习惯于像borland和visual-c这样的PC编译器,我试图通过简单地附加xcode构建的可执行产品,通过电子邮件与他人“分享”游戏。但是,收件人无法运行程序,因为它以不同的格式显示 - 通常是机器代码,听起来像。
经过一番广泛的搜索,我意识到在xcode的IDE中构建项目的复杂性以及构建设置/目标的变化等等。
任何人都知道如何构建一个自包含的c ++可执行文件,以便普遍运行?我不会在这个游戏的STL库之外。我非常感谢任何帮助。
感谢
答案 0 :(得分:5)
OS X基于Unix,它使用纯二进制文件(即没有文件扩展名)作为可执行文件。如果他们具有某个“可执行权限”,则可以双击它们以作为可执行文件运行,或从命令行运行。但是,此权限无法通过电子邮件发送 - 它是文件系统本身的元数据,从安全角度来看这是有道理的(您不希望垃圾邮件发送者通过电子邮件向您发送可执行病毒吗?)。因此,当收件人收到二进制文件时,他们需要在其上运行以下命令行命令,假设“hanoi”是二进制文件的名称:
chmod +x /path/to/hanoi
如果你真的想把它打包成一个可立即双击的应用程序,你需要给它一个原生的UI并将其打包为.app,然后把它.app(实际上是一个带有。的文件夹)。分发存档中的应用程序扩展)。对不起,如果这比你希望的更多的工作。希望这有帮助!
答案 1 :(得分:0)
在相同操作系统的点发行版中共享应用程序在Mac上可能是出了名的难度(至少就个人经验而言)。
为了能够以最少的努力分享您的申请,您需要弄清楚:
temp
和/或可写字的位置)。我希望我能给出更详细的答案,但不幸的是,你必须自己弄清楚一些答案(没有任何关于你得到的错误的其他具体信息)。
答案 2 :(得分:0)
如果您对命令行工具而不是双击应用程序感到满意,则将其压缩并将其附加到电子邮件就足够了。如果您发送的任何人可能正在使用基于PowerPC的Mac,请确保构建通用。哦,并将部署目标设置为任何收件人可能正在使用的最小操作系统。