Win10环境下用CMake编译项目遇到与Eigen库相关的问题

原作者提供的CMakeLists.txt中

Eigen库是头文件库,不用编译也可以使用。如果Win系统的环境变量没有设置,也没有编译Eigen,find_package语句会找不到Eigen。

find_package(Eigen3 3.3.4 REQUIRED NO_MODULE)
..中间省略..
target_link_libraries(fdr ${OpenCV_LIBS} Eigen3::Eigen GCoptimization Superpixel)

解决方法:

  1. 删掉find_package(Eigen3 3.3.4 REQUIRED NO_MODULE)
  2. 删掉target_link_libraries里面的 Eigen3::Eigen
  3. 增加语句set(Eigen3_DIR “C:/local/eigen-3.3.4”)
    include_directories(${Eigen3_DIR})
    //双引号内的路径设置成你电脑上Eigen库的位置

如果你还没有编译过Eigen且环境变量中没有添加,那么修改CMakeLists.txt如下:

cmake_minimum_required(VERSION 3.9)
project(ProjectName)
set(CMAKE_CXX_STANDARD 11)
// set EIGEN_DIR variable to Eigen Library Path
set(EIGEN_DIR “C:\Eigendir\Eigen”)
// include the directory
include_directories(${EIGEN_DIR})
add_executable(ProjectName main.cpp)

fatal error C1083: 无法打开包括文件: “Eigen\Dense”: No such file or directory

Eigen库的包含路径写错了,由“C:\local\eigen-3.3.4\Eigen”调成父目录"C:\local\eigen-3.3.4"

target_link_libraries :Targets may link only to libraries. CMake is dropping the item.

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值