在可执行文件中使用带有符号链接的相对路径
Using a relative path in executable with symbolic link
我正在尝试弄清楚如何在 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
$
在 Linux 中:
ln -sr <source relative path> <destination relative path>
您可以通过导航到该目录并键入以下命令来验证在设计中创建的符号链接:
ls -l
接受的答案是如果它是可执行文件应该使用的答案,这就是您的问题所在。如果在可执行文件之外,这是一个快速简单的解决方案。
相关文章:
- 体系结构x86_64的未定义符号:链接器错误
- 如何防止 CMake 在构建时(而不是在安装时)为共享库创建符号链接?
- 如何将空文件夹和符号链接添加到存档 - libarchive
- boost::存在符号链接不取消引用
- c++ ReadDirectoryChangesW on directory,带有目录的符号链接
- 如何将libc++与调试符号链接起来?
- 如何使用 GetFinalPathNameByHandle 解析指向本地目录的符号链接?
- 在可执行文件中使用带有符号链接的相对路径
- 架构x86_64的未定义符号链接constexpr std :: array
- 使用dlopen()的符号链接
- 可能的 GCC 链接器错误会导致将弱符号和局部符号链接在一起时出错
- g++ 编译:我可以链接到带有符号链接二进制文件的目录吗?
- 如何在目录上迭代并识别或省略NTFS连接(符号链接ish)
- 与两个符号链接.一个在存档文件中定义
- 单一实例对象的未解决外部符号链接错误
- C++隐藏的符号链接
- 尽管存在符号链接,但 ld 无法加载库
- 导出类静态常量的未解决外部符号链接错误(仅限某些项目)
- 使用 boost 解析符号链接时,结果不等于原始路径名
- OpenCV 模块作为符号链接会导致 cmake 错误