c++ - 在带有符号链接(symbolic link)的可执行文件中使用相对路径

标签 c++ linux qt ubuntu symlink

我正在尝试弄清楚如何在 ubuntu 中通过链接使用我的应用程序。我编译了代码,它包含某些文件的相对路径。当我在不同目录中创建指向可执行文件的链接时,我无法使用这些路径。有没有办法(在我的代码中或在创建链接时)使其与相对路径一起使用?

谢谢

最佳答案

您要的是 realpath 吗?像这样的东西(下面示例中的 test 源代码):

#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
$

关于c++ - 在带有符号链接(symbolic link)的可执行文件中使用相对路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44485421/

相关文章:

MySQL:学校服务器上的错误 1227 (42000)

linux - perl 脚本中的读写操作

c++ - FindContours 如何循环遍历图像? OpenCV 2.3

c++重复箭头运算符取消引用性能与点运算符

Linux:使用 vmstat、free 或 meminfo 检查分配给进程的内存量

windows - Windows 初始启动后立即启动 Qt 应用程序

qt - 如何将 QPixmap 转换为矩阵

c++ - Qt项目如何集成flex和bison?

c++ - 游戏实体类型分配

c++ - 对包含特殊字符的二维数组进行排序 C++