首页 > 解决方案 > 如何设置 CMake 变量以包含目录

问题描述

尝试从 VS 的开发人员命令提示符中使用 Cmake构建此库时,出现此错误

CMake Error at cmake/FindEigen.cmake:77 (MESSAGE):
  Failed to find Eigen - Could not find eigen3 include directory, set
  EIGEN_INCLUDE_DIR to path to eigen3 include directory, e.g.
  /usr/local/include/eigen3.

我想在这里找出我的意图:我是EIGEN_INCLUDE_DIR用命令行参数还是通过编辑 make 文件来设置?

我试过cmake -D EIGEN_INGLUDE_DIR=C:\Users\a\Downloads\eigen-3.3.7\eigen-3.3.7 .但收到同样的错误。

标签: cmakeincludecommand-line-arguments

解决方案


cmake -D EIGEN_INGLUDE_DIR=C:\Users\a\Downloads\eigen-3.3.7\eigen-3.3.7 .没有创建任何文件就失败了(cmake ..至少开始构建)并给了我这个错误

CMake 错误:源“C:/Users/a/Downloads/RpolyPlusPlus-master/RpolyPlusPlus-master/build/CMakeLists.txt”与源“C:/Users/a/Downloads/RpolyPlusPlus-master/RpolyPlusPlus-”不匹配master/CMakeLists.txt" 用于生成缓存。使用不同的源目录重新运行 cmake。

所以我最终将它添加到 .cmake 文件中:

# TODO: Add standard Windows search locations for Eigen.
LIST(APPEND EIGEN_CHECK_INCLUDE_DIRS
  /usr/local/include
  /usr/local/homebrew/include # Mac OS X
  /opt/local/var/macports/software # Mac OS X.
  /opt/local/include
  /usr/include
  C:\\Users\\a\\Downloads\\eigen-3.3.7)  <---------------------------------------

推荐阅读