You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mac OSX下如何设置可执行程序的工作目录(Xcode C++项目GUI启动场景)

解决方案:GUI方式启动C++可执行文件并自动切换到工作目录

先给你捋下问题本质:Mac上双击命令行可执行文件时,系统默认会把**用户主目录(/Users/chefjeff/)**设为工作目录,而不是可执行文件所在的文件夹,这就导致你的程序找不到依赖的文件;另外终端运行完程序会自动退出,所以你看到了两次退出提示。

下面的方案完美适配你的需求——不管CultGame项目文件夹放在文件系统的任意位置,都能通过双击GUI方式启动,且自动切换到项目目录运行:

方案1:用Automator创建包装应用(最简单的GUI操作方式)

这是最直观的办法,不需要复杂命令,全程图形界面操作:

  1. 打开Mac自带的「自动操作」(Automator)应用,选择新建「应用程序」类型的文档,点击「选取」。
  2. 在左侧的动作搜索框里输入「运行AppleScript」,找到后拖到右侧的工作区。
  3. 把默认的AppleScript代码替换成下面的内容,记得把你的可执行文件名换成你项目里实际的可执行文件名称(比如CultGame):
-- 获取当前Automator应用所在的文件夹路径
set appFolder to POSIX path of (container of (path to me))
-- 切换到该文件夹并启动可执行文件
tell application "Terminal"
    do script "cd " & quoted form of appFolder & " && ./你的可执行文件名; exec bash"
    activate
end tell

补充:代码里的; exec bash是为了让终端窗口在程序运行结束后保持打开,方便你查看输出日志;如果不需要保留终端窗口,删掉这部分即可。

  1. 点击顶部菜单栏的「文件」→「存储」,把这个Automator应用命名(比如叫启动CultGame),然后把它和你的CultGame项目文件夹放在一起(或者直接放到项目文件夹内部)。
  2. 以后双击这个Automator应用,就会自动打开终端,切换到项目目录并启动你的程序,完全符合需求。
  3. (可选)给这个应用换个好看的图标:右键点击Automator应用→「显示简介」,把你项目可执行文件的图标(或者自定义图标)拖到简介窗口左上角的图标位置即可。

方案2:创建可双击的Shell脚本包装(进阶方式)

如果你习惯用命令行做简单配置,也可以用这种方式:

  1. 在CultGame项目文件夹里新建一个文本文件,命名为启动脚本.command。
  2. 打开这个文件,输入以下内容,同样替换你的可执行文件名为实际名称:
#!/bin/bash
# 切换到当前脚本所在的文件夹
cd "$(dirname "$0")"
# 启动可执行文件
./你的可执行文件名
# 保持终端窗口打开(可选)
exec bash
  1. 打开终端,进入项目文件夹,执行命令给脚本添加可执行权限:
chmod +x 启动脚本.command
  1. 现在双击这个.command文件,就能自动切换到项目目录并启动程序了。

两种方案都能满足「项目文件夹可放在任意位置」的要求,因为它们都是通过获取自身所在的目录来定位项目文件,完全不依赖固定路径。

内容的提问来源于stack exchange,提问作者chefjeff

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.30 05:17:32