我试图让Eigen运行起来但我遇到了障碍。我打开Clion并在CMakeLists.txt选项卡中输入以下代码。请注意我已经安装了Eigen和家庭酿造。
project(untitled)
cmake_minimum_required(VERSION 3.7)
set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake)
find_package(Eigen3 REQUIRED)
include_directories(EIGEN3_INCLUDE_DIR)
set(SRCS main.cpp)
add_executable(untitled ${SRCS})
我收到以下错误。
/Applications/CLion.app/Contents/bin/cmake/bin/cmake -DCMAKE_BUILD_TYPE=Debug -G "CodeBlocks - Unix Makefiles" /Users/johnmcconnell/CLionProjects/untitled
CMake Error at CMakeLists.txt:9 (find_package):
Found package configuration file:
/usr/local/share/eigen3/cmake/Eigen3Config.cmake
but it set Eigen3_FOUND to FALSE so package "Eigen3" is considered to be
NOT FOUND.
我以前从未这样做过,我真的很茫然,对于该做什么一无所知?
更新: 代码更改会清除错误但会生成一个新错误。
fatal error: 'Eigen/Dense' file not found
project(untitled)
cmake_minimum_required(VERSION 3.7)
set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake)
include_directories(EIGEN_INCLUDE_DIR)
set(SRCS main.cpp)
add_executable(untitled ${SRCS})
答案 0 :(得分:2)
除了@John Zwinck的答案解决了问题之外,你的include_directories
声明中有错误。
应该是
include_directories(${EIGEN3_INCLUDE_DIR})
而不是
include_directories(EIGEN_INCLUDE_DIR)
答案 1 :(得分:1)
如果查看CMake模块的源代码:https://github.com/RLovelett/eigen/blob/master/cmake/FindEigen3.cmake
您可以看到它接受EIGEN3_ROOT
或EIGEN3_ROOT_DIR
中的“提示”。将其中一个设置为您的Eigen安装基础,然后重试:
EIGEN3_ROOT=blah/blah cmake ...
答案 2 :(得分:0)
在 CMakeLists.txt
中包含以下内容set(EIGEN_DIR "C:\\Eigendir\\Eigen")
include_directories(${EIGEN_DIR})
add_executable(project_name main.cpp)
target_link_libraries(project_name ${EIGEN_DIR})
您在其中放置Eigen源代码的目录必须位于包含路径中
EIGEN_DIR
设置为Eigen文件夹在系统中的路径#include <Eigen>
...希望这个答案可以帮到你:D