【问题标题】:cmake find_library without "lib" prefix namecmake find_library 没有“lib”前缀名称
【发布时间】:2016-09-26 00:58:14
【问题描述】:

我在路径/home/test/libs/ 中有一个名为mylib.a 的库。

如何将其添加到项目中??

find_library(IDA_LIB
                 NAMES "mylib.a"
                 PATHS "/home/test/libs"
                 NO_DEFAULT_PATH)

由于它没有前缀lib,cmake 没有找到它。如果我将库名称更改为libmylib.a,如果发现没问题。

【问题讨论】:

标签: linux cmake


【解决方案1】:

将以下命令与库的绝对文件路径一起使用

target_link_libraries(IDA_LIB /home/test/libs/mylib.a)

【讨论】:

  • 那行不通。我已经试过了。传递给链接器的参数是 -lmylib.a 并且仍然试图找到libmylib.a
  • @user1618465 尝试提供完整路径
  • 这在使用find_library创建的变量时也不起作用。
【解决方案2】:

试试这个:

add_library(mylib STATIC IMPORTED)
set_target_properties(mylib PROPERTIES IMPORTED_LOCATION /home/test/mylib.a)

然后你可以使用“mylib”在:

target_link_libraries(myapp
        mylib )

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-23
    • 1970-01-01
    • 2019-10-29
    相关资源
    最近更新 更多