CMake忽略导入的共享对象

问题描述

我正在开发一个构建共享对象的CMake项目,我们称它为libfoo.so,它必须动态链接到另一个共享对象libbar.so。后一个不是从项目本身包含的文件中构建的,而是在调用cmake期间从外部源复制到构建目录中的。为了使CMake知道此文件,我尝试执行以下操作:

add_library(bar SHARED IMPORTED GLOBAL)

set_target_properties(bar PROPERTIES
  IMPORTED_LOCATION some/path/to/libbar.so
)

然后构建libfoo.so(在不相关的目录中的另一个CMakeLists.txt中):

add_library(foo SHARED ...)
target_link_libraries(foo bar) 

但是,这无法按需工作,在make VERBOSE=1之后运行cmake时,输出显示libfoo.so-lbar而不是libbar.so链接。

如有必要,我可以尝试创建一个最小的工作示例,但也许有人遇到了相同的问题,可以告诉我出了什么问题。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...