【问题标题】:CMake: how to specify from command line where to look for locally installed librariesCMake:如何从命令行指定在哪里查找本地安装的库
【发布时间】:2015-06-09 01:06:54
【问题描述】:

我正在本地构建依赖项并安装在本地目录中。现在我想告诉 CMake 除了所有标准位置之外,还要查看该本地目录以查找包含和库。

我试过这个:

cmake -D CMAKE_LIBRARY_PATH=`realpath ../target`/lib CMAKE_INCLUDE_PATH=`realpath ../target`/include .

但它不起作用。有什么想法吗?

【问题讨论】:

  • 您还需要在CMAKE_INCLUDE_PATH=... 前加上-D。

标签: c cmake makefile dependencies configure


【解决方案1】:

你可以使用

find_library()

搜索库的命令。

include_directories()

你告诉 cmake 在哪里寻找包含文件

【讨论】:

  • 但这意味着要更改我要编译的项目的 CMake 文件。我不想这样做,我想将 CMake 的参数指定为我安装了它正在寻找的依赖项的目录
【解决方案2】:

您可以先将该文件夹添加到您 PC 的系统环境中,例如称为PersonalLib_DIR 指向该文件夹。然后,您可以通过 CMake 访问 $ENV{PersonalLib_DIR} 为包含和库添加它:

  1. 对于包括:

    include_directories($ENV{PersonalLib_DIR})
    
  2. 对于库(假设您要链接文件夹下的aLib.lib):

    target_link_libraries(youProject $ENV{PersonalLib_DIR}/aLib)
    

【讨论】:

  • 是的,但这又意味着更改我正在使用的项目的 CMakeLists.txt 文件。如果可能的话,我想避免这种情况。我正在寻找标准方法来指定其他目录以搜索库
猜你喜欢
  • 1970-01-01
  • 2021-07-30
  • 2021-11-17
  • 2016-04-06
  • 1970-01-01
  • 2018-02-05
  • 2013-05-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多