【问题标题】:Relative Paths In Executables可执行文件中的相对路径
【发布时间】:2013-05-28 11:04:01
【问题描述】:

在 Mac/Linux 上,在可执行文件中使用相对路径打开文件(fopen 等)的库调用是相对于终端的当前目录的,如果我从相对于用户主目录的文件夹中双击(我认为)。如何在不更改任何代码的情况下为两个实例(在终端上运行并从文件夹中双击)创建相对于可执行文件的相对路径?我认为这与环境变量有关,但我不确定。

【问题讨论】:

  • 你需要一些东西来chdir(2) 到想要的目录,而那个东西可能不是环境变量。也许制作一个包装 cd 的外壳,真正的程序可能会有所帮助。

标签: linux macos environment-variables relative-path


【解决方案1】:

尝试使用install_name_tool 设置相对于@executable_path 或@loader_path 的依赖路径。有关如何使用它的更多信息,请参阅this question
使用 otool -L <your_executable> 查看所有依赖项。

有关@executable_path 和@loader_path 的信息请参阅man dyld

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-24
    • 2014-04-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多