c – 使用符号链接在可执行文件中使用相对路径

我试图找出如何使用我的应用程序与ubuntu中的链接.我编译了代码,它包含了某些文件的相对路径.当我在不同的目录中创建可执行文件的链接时,我无法使用这些路径.有没有办法(在我的代码或链接的创建中)使它与相对路径一起工作?

谢谢

最佳答案 你追求的是真实的道路吗?像这样的东西(以下例子中的测试源):

#include <iostream>
#include <cstdlib>

int main(int argc, char *argv[])
{
        char *path = realpath(argv[0], NULL);
        std::cout << path << '\n';
        free(path);
        return 0;
}

执行示例:

$ln -s tmp/test
$./test
/home/mlil/tmp/test
$
点赞