【问题标题】:How to launch a mac application without a terminal window如何在没有终端窗口的情况下启动 mac 应用程序
【发布时间】:2011-01-31 01:55:59
【问题描述】:

我编写了一个开源 c++ 应用程序,它在 Windows 和 Linux 上运行良好,我终于得到了 Mac Mini(10.5.8),所以我刚刚测试了 Mac 版本。

我的应用程序在终端窗口内运行并输入 ./appname 时运行良好,但如果我从查找器中双击它,它会先打开一个终端窗口然后运行我的应用程序,但它似乎没有将工作目录设置到正确的位置,所以我的应用程序死了。

如何使我的应用程序在通过双击启动时不会首先打开终端窗口,如何将当前目录自动设置为应用程序位置?

【问题讨论】:

    标签: c++ user-interface macos terminal


    【解决方案1】:

    Mac 二进制文件设置为使用“终端”程序打开;没有办法解决这个问题,除非制作一个完整的应用程序包,或者让另一个程序通过system 或类似的方式启动它。

    当双击一个二进制文件时,终端窗口以~ 作为当前目录打开。我建议您在程序中使用chdir(2),以确保它在您需要时在正确的目录中运行。

    【讨论】:

    • 成功了!谢谢,现在我的应用程序运行但终端窗口停留在我的应用程序窗口的顶部。你知道如何隐藏或关闭终端窗口吗?
    • @KPexEA:不幸的是,你不能同时拥有这两种方式——你要么编写一个通用的命令行工具,要么编写一个带有 GUI、捆绑包、.plist 等的适当的 Mac 应用程序。
    • @Paul R,我确实希望它是一个合适的 Mac 应用程序。您是否知道某个地方记录了如何将其制成适当的应用程序。我正在使用一个makefile来构建它,所以如果我可以将“make bundle”添加到我的makefile中,将它全部打包,那将是最好的。这是一个单独的 exe,不需要单独的数据文件。
    • @KPexEA:您可以从这里的信息开始:​​developer.apple.com/mac/library/documentation/corefoundation/…
    猜你喜欢
    • 2018-04-14
    • 1970-01-01
    • 2014-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-08
    • 2010-09-24
    相关资源
    最近更新 更多