g++共享库仅链接当前目录中的链接
g++ shared library only links in current directory
我正试图用我在另一个目录中构建的库编译一个C++程序(在Linux和OSX上)
$ g++ -I./include -L./lib src/main.cpp -lale -o proj
"ale"只是我正在使用的库(./lib/libale.so
中的libale.so)
它编译了所有内容,但当我运行它时,我会得到以下错误:
./proj: error while loading shared libraries: libale.so: cannot open shared object file: No such file or directory
但是,如果我将libale.so放在与可执行文件相同的目录中(或添加符号链接),它确实有效。我正在查找一些解决方案,其中一个建议是设置LD_LIBRARY_PATH
。但是,我宁愿在编译期间直接链接路径。有办法做到这一点吗?
我找到的答案是添加以下标志:
-Wl,-rpath=./lib
然而,这在OS X上不起作用。我最终只是在OS X版本中使用了符号链接,但这不是最佳解决方案。
相关文章:
- c++ ReadDirectoryChangesW on directory,带有目录的符号链接
- 如何使用 GetFinalPathNameByHandle 解析指向本地目录的符号链接?
- 如何链接由CMAKE在其他目录上生成的库
- 如何在链接器设置和搜索目录更改后修复" '::iswblank' has not been declared"
- CMake:如何从并行目录链接库
- 读取访问违规当前为0xCDCDCDCD,链接列表窗口
- 链接库时的默认目录上的GCC或G 路径搜索顺序
- C++ / GoogleTest - 如何在链接目录中为每个测试运行安装程序
- Eclipse SDL.h 没有这样的文件或目录,所有内容都正确链接
- 是否有 gcc 命令可以链接同一目录中的所有 .o 文件并生成.exe文件
- 在 Code::Blocks 中使用自定义安装目录在 Windows 上链接 SDL-bgi
- 如何在CMAKE中添加链接器目录
- g++ 编译:我可以链接到带有符号链接二进制文件的目录吗?
- 如何在目录上迭代并识别或省略NTFS连接(符号链接ish)
- 将静态库与gnu g 链接:没有这样的文件或目录,makefile
- CMake 从子目录和父目录链接文件
- 如何以Cmake的可移植方式获取LibstDCXX隐式链接目录
- 将项目符号包含目录与 cmake 链接
- 在 VS 中,以编程方式获取链接器>其他库目录属性,或获取宏值
- g++共享库仅链接当前目录中的链接