Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何帮助';FindPkgConfig.cmake';找包裹?_Cmake - Fatal编程技术网

如何帮助';FindPkgConfig.cmake';找包裹?

如何帮助';FindPkgConfig.cmake';找包裹?,cmake,Cmake,我正在尝试编译我的项目,我的项目正在使用sqlcipher包sqlcipher被克隆并安装在自定义路径中,我通过~/.bashrc文件中的$path导出了此路径。配置后,如果我在终端中键入sqlcipher,工作正常,但当我尝试cmake我在同一终端上的项目时,它会 -- Checking for one of the modules 'sqlcipher' CMake Error at /usr/share/cmake-3.5/Modules/FindPkgConfig.cmake:578 (

我正在尝试编译我的项目,我的项目正在使用
sqlcipher
sqlcipher
被克隆并安装在自定义路径中,我通过
~/.bashrc
文件中的
$path
导出了此路径。配置后,如果我在终端中键入
sqlcipher
,工作正常,但当我尝试
cmake
我在同一终端上的项目时,它会

-- Checking for one of the modules 'sqlcipher'
CMake Error at /usr/share/cmake-3.5/Modules/FindPkgConfig.cmake:578 (message):
  None of the required 'sqlcipher' found
我想我必须提供这个自定义路径到cmake才能找到这个包。如何提供cmake的自定义路径?我在哪里出错?

模块定义函数
pkg\u check\u modules()
pkg\u search\u模块
,它们使用实用程序定位包

该实用程序本身从
PKG\u CONFIG\u路径
环境变量中获取搜索提示,该变量包含带
.pc
文件的冒号分隔(
)路径:

export PKG_CONFIG_PATH="/home/iam/git/LIB_ROOT/lib/pkgconfig:${PKG_CONFIG_PATH}"
cmake <...>

cmake-DCMAKE\u PREFIX\u PATH:PATH=/home/iam/git/LIB\u ROOT
设置
CMAKE_PREFIX_PATH
是提示CMAKE搜索包的常用方法:。

模块定义函数
pkg_check_modules()
pkg_search_module
,它们使用实用程序定位包

该实用程序本身从
PKG\u CONFIG\u路径
环境变量中获取搜索提示,该变量包含带
.pc
文件的冒号分隔(
)路径:

export PKG_CONFIG_PATH="/home/iam/git/LIB_ROOT/lib/pkgconfig:${PKG_CONFIG_PATH}"
cmake <...>

cmake-DCMAKE\u PREFIX\u PATH:PATH=/home/iam/git/LIB\u ROOT

设置
CMAKE\u PREFIX\u PATH的方法是搜索包提示CMAKE的常用方法:。

您需要设置
CMAKE\u PREFIX\u PATH
变量,就像这里描述的:.@Tsyvarev我试过
cmake-DCMAKE\u INSTALL\u PREFIX=/tmp/xyz/-DCMAKE\u PREFIX\u PATH=/home/iam/git/LIB\u ROOT/bin..
但没有working@Tsyvarev从上述路径中删除
bin
后,其工作。非常感谢。变量
CMAKE\u PREFIX\u PATH
应该包含安装前缀,而不是带有程序的
bin/
目录。还要确保已安装
.pc
文件(在给定的安装前缀下)-此文件正是由
pkg config
实用程序搜索的。您需要设置
CMAKE\u prefix\u PATH
变量,就像这里描述的:.@Tsyvarev我试过
cmake-DCMAKE\u INSTALL\u PREFIX=/tmp/xyz/-DCMAKE\u PREFIX\u PATH=/home/iam/git/LIB\u ROOT/bin..
但没有working@Tsyvarev从上述路径中删除
bin
后,其工作。非常感谢。变量
CMAKE\u PREFIX\u PATH
应该包含安装前缀,而不是带有程序的
bin/
目录。还要确保已安装
.pc
文件(在给定的安装前缀下)-此文件由
pkg config
实用程序搜索。注意:
CMAKE\u PREFIX\u PATH
仅在所需的
CMAKE\u最小值
为3.1+时适用于pkg config,或者如果您将
pkg\u config\u USE\u CMAKE\u PREFIX\u PATH
设置为true,则仅在
CMAKE\u PREFIX\u PATH所需的最小值
时适用于pkg config是3.1+或如果您将
PKG\u CONFIG\u USE\u CMAKE\u PREFIX\u PATH
设置为true。
cmake -DCMAKE_PREFIX_PATH:PATH=/home/iam/git/LIB_ROOT <...>