如何从不存在的(在编译时)文件夹链接共享库
how to link shared library from non existing(in compile time) folder
我试图用-rpath选项链接共享库到另一个共享库(protobuf),问题是库在编译时比在运行时在另一个目录中,并且-rpath选项需要在编译时路径中存在。(所以我得到一个"没有这样的文件或目录"错误)有什么解决办法吗?我宁愿不使用LD_LIBRARY_PATH变量来解决这个问题。
-rpath指定运行时库搜索路径。
程序库HOWTO
"在开发过程中,存在修改库的潜在问题,该库也被许多其他程序使用,并且您不希望其他程序使用developmental''library, only a particular application that you're testing against it. One link option you might use is ld's
rpath"选项,该选项指定正在编译的特定程序的运行时库搜索路径。在gcc中,你可以通过这样指定来调用rpath选项:- wl, rpath $ (DEFAULT_LIB_INSTALL_PATH)如果在构建库客户端程序时使用此选项,则不需要处理LD_LIBRARY_PATH(下面将介绍),只需确保它不冲突,或者使用其他技术隐藏库。"
我在这里找到了答案,我可以改变'rpath'在已经编译的二进制文件中?
编译后更改rpath解决了我的问题。
[编辑]还有另一种更好的方法:如何通过相对路径
相关文章:
- 缺少 .h 文件,尽管从库文件夹链接了 .so 文件
- 使用Cygwin C++时出现未定义的引用错误,为什么我的文件没有链接?
- 程序使用boost::文件系统链接clang,但不使用gcc
- 在C++文件中链接 mat.h
- 底层文件下链接时会发生什么
- [C++][天鹅座][海湾合作委员会]通过BOOST_FILESYSTEM_DYN_LINK从 DLL 提升文件系统链接
- 标志以将IPDB和IOBJ文件从链接时间代码生成优化(LTCG)移动
- 无法在生成文件中链接 opengl 库
- C 标题文件和链接器错误
- g++链接对象文件无法链接
- 在生成文件中链接库
- 没有头文件的链接库
- IDL文件-静态链接或动态链接
- 在 make 文件中链接 g++ 和 lib 不起作用
- 在另一个文件中链接/使用 .so 文件
- 如何在静态库中的单独 cpp 文件中链接未引用的变量
- 实验::在使用-lsdc++fs选项后使用GCC6时出现文件系统链接器错误
- 使用OpenCL 2.0 c++绑定头文件的链接器错误
- 在不同的文件夹中创建文件和链接库
- 如何从不存在的(在编译时)文件夹链接共享库