我正在使用Qt开发一个C++应用程序。当我查看Finder时,我看到的输出如下:
    build-XMLMPAM-Desktop_Qt_5_11_2_clang_64bit-Debug此文件夹包含对象文件"moc“cpp文件。在查找器中,我看到了应用程序:
    XMLMPAM.app虽然我可以启动这个从Finder,当我打开一个终端,这实际上是一个文件夹。包含文件和子文件夹。
为了从终端启动应用程序,我必须输入:
    ~/build-XMLMPAM-Desktop_Qt_5_11_2_clang_64bit-Debug/XMLMPAM.app/Contents/MacOS/XMLMPAM从申请中,我报告了CWD:
从终端或Qt调试器启动时:
    CWD:  /Users/Simon/build-XMLMPAM-Desktop_Qt_5_11_2_clang_64bit-Debug/XMLMPAM.app/Contents/MacOS从Finder发射时:
    CWD:  /我被这弄糊涂了,怎么回事?
发布于 2019-04-09 19:30:36
像XMLMPAM.app这样的XMLMPAM.app应用程序确实是一个文件夹。用苹果的术语来说,它被称为捆绑。它是一个具有某种结构的目录,操作系统和其他实用程序可以识别它。实际的可执行程序文件位于包的Content/MacOS子文件夹中。这就是Finder定位它的地方。Finder假装它是一个内聚的“文件”,但您也可以通过右键单击和“显示包内容”进入包内。
如果要从终端模拟Finder行为,请运行open XMLMPAM.app或open -a XMLMPAM。
如果您想获取包的路径,或者其中的任何文件,您可以使用NSBundle类的方法。例如:NSBundle.mainBundle.executableURL.path应该为您的应用程序的可执行文件提供完整的路径。
https://stackoverflow.com/questions/55599363
复制相似问题