使用 cmake 的不同链接和加载库路径
different link and load library paths using cmake
我有两个版本的同一个库libabc.so
,我必须将我的程序链接到一个版本,并在执行时加载另一个版本(加载器应该在可执行文件运行时加载另一个库(。
我将两个版本放在不同的路径中,如何使用 cmake 指定?
我希望我已经说清楚了,谢谢。
@Tsyvarev的评论基本上给出了答案,这里有更多细节。
假设链接和加载的两个版本放在link_path/libabc.so
和load_path/libabc.so
中,CMakeLists.txt
应该是这样的
...
set(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE)
set(CMAKE_INSTALL_RPATH load_path;${CMAKE_INSTALL_RPATH}) # load path
...
target_link_libraries(xxx link_path/libabc.so) # link path
相关文章:
- std::原子加载和存储都需要吗
- 如何在没有"路径"模块的情况下加载 cheerp-wasm 程序?
- 如何从路径加载 QImage?
- 如何从路径字符串加载Gdiplus::位图
- 在 Linux 上,在 C++ 程序中,如何找到已加载共享库的路径?
- 如何更改路径以修复错误"./main:加载共享库 libmkl_core.so 时出错?
- SFML: dyld:即使更新了库路径,库也未加载错误
- 问题在具有依赖性时从其他路径上加载DLL的DLL
- 在 Windows 中加载共享库时在特定路径中选取 dll
- 使用 cmake 的不同链接和加载库路径
- 已编译的应用想要从绝对路径加载 DLL
- 如何查找加载程序 DLL 的路径
- 在Qt Creator中加载具有相对路径的文件
- 在 Mac 中加载动态库路径错误
- 如何找到已经通过dlopen API加载的dylib的路径
- BoostPython:在路径中加载带有unicode字符的Python模块
- 如何使用XCode IDE在SFML中通过相对路径加载图像
- 从SFML中的相对路径加载图像
- 作为绝对路径传递给链接器的动态库被相对路径加载
- 用java中的System.loadLibrary()加载的.dll的搜索路径