cmake如何从同一个库的静态版本链接外部动态库

时间:2018-05-28 13:50:01

标签: c++ cmake

我有一个外部包exp1,它包含静态库和动态库

EXP1

- 包括

- lib // 1.dll,1.lib

现在在exp1包的cmake中添加了命令

add_library(${XS_SHARED_LIB} SHARED IMPORTED GLOBAL)

    set_target_properties(${XS_SHARED_LIB} PROPERTIES
        IMPORTED_LOCATION ${XS_DIR}/lib/${XS_SHARED_LIB}_1.dll
        IMPORTED_IMPLIB ${XS_DIR}/lib/${XS_SHARED_LIB}.lib
    )

现在在其他外部包中,我试图静态链接上面的exp1包

target_link_libraries(xrlib
    ${XS_SHARED_LIB}
)

但这导致与$ {XS_SHARED_LIB} _1.dll

的链接问题
  1. 错误LNK2019:未解析的外部符号
  2. 致命错误LNK1107:文件无效或损坏:无法读取0x360
  3. 让我知道解决方案。

0 个答案:

没有答案