Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.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
Build 在CMake中查找第三方库_Build_Cmake - Fatal编程技术网

Build 在CMake中查找第三方库

Build 在CMake中查找第三方库,build,cmake,Build,Cmake,我正在尝试链接到第三方库 我通过以下方式制作/安装第三方库: svn co https://svn.company.nl/svn/eigen3/trunk eigen mkdir eigen/build cd eigen/build cmake -G "MinGW Makefiles" .. mingw32-make -j3 mingw32-make install 默认情况下,库安装为 <CMAKE_INSTALL_PREFIX>/<INCLUDE_INSTALL_DIR

我正在尝试链接到第三方库

我通过以下方式制作/安装第三方库:

svn co https://svn.company.nl/svn/eigen3/trunk eigen 
mkdir eigen/build
cd eigen/build
cmake -G "MinGW Makefiles" ..
mingw32-make -j3
mingw32-make install
默认情况下,库安装为

<CMAKE_INSTALL_PREFIX>/<INCLUDE_INSTALL_DIR>
接下来,我有一些项目要使用这个库。幸运的是,该库提供了一个FindEigen3.cmake文件,因此我应该能够在我的cmake文件中执行此操作:

set( CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake/modules ${CMAKE_MODULE_PATH})
Find_Package(Eigen3)
如果那样行的话,我就不会在这里了。Find_包找不到egen3。FindEigen3.cmake包含:

find_path(EIGEN3_INCLUDE_DIR NAMES signature_of_eigen3_matrix_library
    HINTS
    ENV EIGEN3_ROOT 
    ENV EIGEN3_ROOT_DIR
    PATHS
    ${CMAKE_INSTALL_PREFIX}/include
    ${KDE4_INCLUDE_DIR}
    PATH_SUFFIXES eigen3 eigen
  )
我设定了:

set EIGEN3_ROOT="C:/Program Files (x86)/Eigen3"
set EIGEN3_ROOT_DIR="C:/Program Files (x86)/Eigen3/include/eigen3" 
然而,我仍然找不到我的图书馆。我已经证实了
C:\Program Files(x86)\Eigen3\include\Eigen3\signature\u\u Eigen3\u matrix\u库
存在,因此我不明白为什么Find\u Package()找不到我的库。此外,我希望能够在不设置环境变量的情况下实现这一点,因为我需要为使用我的库的用户保持简单,以便他们可以简单地
cmake..&制作
,我将处理它们的所有依赖项

我在linux或cygwin中这样做没有问题。是windows环境让我着迷

set EIGEN3_ROOT="C:/Program Files (x86)/Eigen3"
set EIGEN3_ROOT_DIR="C:/Program Files (x86)/Eigen3/include/eigen3"