2013-06-01 93 views
1

在Mac/Linux上,使用相對路徑在可執行文件中打開文件(fopen等)的庫調用是相對於終端的當前目錄,如果我從文件夾中雙擊相對於用戶home目錄(我認爲)。如何在不更改任何代碼的情況下爲兩個實例(在終端上運行並從文件夾雙擊)製作相對於可執行文件的相對路徑?我認爲這與環境變量有關,但我不確定。可執行文件中的相對路徑

+0

你需要的東西的信息[CHDIR(2)](http://man7.org/linux/man-pages/man2/chdir.2.html)到想要的目錄,那東西可能不是一個環境變量。也許製作一個外殼包裝一個'cd'和真正的程序可能會有所幫助。 –

回答

0

嘗試使用install_name_tool設置相對於@executable_path或@loader_path的依賴路徑。有關如何使用它的其他信息,請參閱this question
使用otool -L <your_executable>可查看所有依賴關係。

有關@executable_path和@loader_path看到man dyld