一、工作准备

  1. VS 2017
  2. Cmake
  3. Ceres-solover最新版以及早期版本
  4. gflags
  5. glog
  6. Eigen

注:下载后的包如下图所示,解压缩所有包至合适位置,本文以“D:\Program Files (x86)\Ceres-Solver”为例


二、编译Ceres以及第三方依赖库

1.编译gflags

1)在合适位置新建gflags_build文件夹,打开Cmake,指定gflags库的源文件地址以及构建目录,点击Config,根据自己情况选择编辑器(VS 2017—Visual Studio 15 2017 x64),如图

再次点击config,没有红框,即配置正确,然后点击generate,生成解决方案

2)打开在gflags_build文件夹下生成的VS工程文件,分别在Release和Debug下,右键ALL_BUILD生成解决方案(每种模式下应各成功生成4个)

2.编译glog(参考以上内容)

1)在合适位置新建glog_build文件夹,打开Cmake,指定glog库的源文件地址以及构建目录,点击Config,根据自己情况选择编辑器,再次点击config,没有红框,即配置正确,然后点击generate,生成解决方案

2)打开在glog_build文件夹下生成的VS工程文件,分别在Release和Debug下,右键ALL_BUILD生成解决方案(每种模式下应各成功生成7个)

3.编译Ceres-solver(参考以上内容)

1)在合适位置新建Ceres_build文件夹,打开Cmake,指定Ceres库的源文件地址以及构建目录,点击Config,根据自己情况选择编辑器,点击确定

2)提示出现错误,需要进行如下更改:勾选EIGENSPARSE,填写下载并解压的Eigen库地址

3)点击Config,填写之前构件gflags和glog的目录,同时指定CMAKE_BUILD_TYPE为Release;Debug

4)点击Config,没有错误,点击Generate生成VS解决方案

5)打开在glog_build文件夹下生成的VS工程文件,分别在Release和Debug下,右键ALL_BUILD生成解决方案(每种模式下应各成功生成13个)

三、配置VS 2017

文件准备

1.新建Ceres文件夹,在其下新建include和lib文件夹,如下图

2. include文件夹下拷入:

1) gflags-build\include\下的gflags文件夹;

2) glog-build\下的glog文件夹;

3) ceres-solver-1.13.0\include\下的ceres文件夹;

4) ceres-build\config\ceres\internal文件下的config.h拷贝到上述include\ceres里的internal文件夹中;

5) eigen-3.3.9\下的Eigen文件夹;

6)glog-build\src\windows下的glog文件夹中log_severity.h复制到…\Include\glog文件夹下;

注:gflags-build、glog-build是编译后的目录,ceres-solver-1.13.0、eigen-3.3.9是解压缩目录

3.lib文件夹下拷入:

1)gflags-build\lib\Debug下的gflags_nothreads_static.lib和gflags_static.lib;

2)glog-build\Debug下的glog.lib;

3)ceres-build\lib\Debug下的ceres-debug.lib;

VS 配置

  1. 新建VS工程-空项目,打开项目属性(或新建项目属性表)

  2. VC++目录,在包含目录输入include地址;在库目录输入lib目录

  3. C/C++ 附加包含目录输入输入include地址

  4. 链接器-输入-附加依赖项输入lib下的库名称

  5. 保存,配置完成

四、测试

#include <ceres\ceres.h>
#include <glog\logging.h>
using ceres::AutoDiffCostFunction;
using ceres::CostFunction;
using ceres::Problem;
using ceres::Solver;
//using ceres::Solve;struct CostFunctor {template <typename T>bool operator()(const T* const x, T* residual) const {residual[0] = T(10.0) - x[0];return true;}
};int main(int argc, char** argv) {google::InitGoogleLogging(argv[0]);// The variable to solve for with its initial value.double initial_x = 5.0;double x = initial_x;// Build the problem.Problem problem;// Set up the only cost function (also known as residual). This uses// auto-differentiation to obtain the derivative (jacobian).CostFunction* cost_function =new AutoDiffCostFunction<CostFunctor, 1, 1>(new CostFunctor);problem.AddResidualBlock(cost_function, NULL, &x);// Run the solver!Solver::Options options;options.linear_solver_type = ceres::DENSE_QR;options.minimizer_progress_to_stdout = true;Solver::Summary summary;Solve(options, &problem, &summary);std::cout << summary.BriefReport() << "\n";std::cout << "x : " << initial_x<< " -> " << x << "\n";return 0;
}

出现如下结果说明配置成功


总结

以上就是Win10 VS2017 Ceres-Solver 1.13.0配置说明

欢迎批评指正!

他们说 青山是否妩媚 还须看青山是谁. 可我摇头 我见众生皆草木 唯你是青山 .HDarker

Win10+VS2017+Ceres-Solver-1.13.0配置相关推荐

  1. 【环境配置】ceres solver安装

    1. 安装 github地址 # CMake sudo apt-get install cmake # google-glog + gflags sudo apt-get install libgoo ...

  2. win10 64位 mysql 5.7_mysql 5.7.13 安装配置方法图文教程(win10 64位)

    本文实例为大家分享了mysql 5.7.13 winx64安装配置方法图文教程,供大家参考,具体内容如下 (1) 下载MySQL程序,您可以从MySQL官网上下载,或者点击这里下载 (2) 解压mys ...

  3. Tomcat6.0.13下配置Tomcat Administration Web Application

    Tomcat 5.5 以后的binary 核心安装版不再集成Tomcat Administration Web Application,需要独立下载安装.而Tomcat 6.0.13的Administ ...

  4. NVIDIA DIGITS-2.0 + Ubuntu 14.04 + CUDA 7.0 + cuDNN 7.0 + Caffe 0.13.0环境配置

    引言 DIGITS简介 DIGITS特性 资源信息 说明 DIGITS安装 软硬件环境 硬件环境 软件环境 操作系统安装 DIGITS安装前准备 安装CUDA70deb方式 安装cuDNN70 安装C ...

  5. OpenCV学习笔记(一):Win10(x64)+Qt5.8(MSVC2013)+OpenCV3.1.0配置过程

    OpenCV学习笔记(一):Win10(x64)+Qt5.8(MSVC2013)+OpenCV3.1.0配置过程 Win10(x64)+Qt5.8(MSVC2013)+OpenCV3.1.0配置过程 ...

  6. Win10 64位+VS2015+Opencv3.3.0安装配置

    引言 最近准备搞一搞机器视觉方面的研究,所以着手进行环境的搭建.所使用的环境是Win10 64位+VS2015+Opencv3.3.0安装配置 Win10 64位+VS2015+Opencv3.3.0 ...

  7. 环境配置:Win10 - VSCode - MinGW64 - OpenCV 4.5.0 - ZBar 0.23.92

    环境配置:Win10 - VSCode - MinGW64 - OpenCV 4.5.0 - ZBar 0.23.92 前言 1. VSCode 下载VSCode 安装 C/C++ 插件 项目配置 2 ...

  8. 【FLIR工业相机】一、环境配置:win10+VS2017+qt5+spinnaker+opencv+python

    系列文章目录 一.环境配置:win10+VS2017+qt5+spinnaker+opencv+python 二.相机调用:VS2017+qt5调用FLIR工业相机实时成像 三.图像处理:C++调用p ...

  9. QT5.13.0 for IOS虚拟机开发环境配置版本

    iphone开发环境配置真的坑,不知道版本之间的匹配,装了好多个版本才配好.使用的是vmware15虚拟机来配置的环境: macOS版本:10.13.6 XCode版本:10.1 QT版本:5.13. ...

最新文章

  1. Executor介绍
  2. Citrix XenApp 下载及一年 developer license 获取
  3. 2016我的程序员总结
  4. linux修改密码最短生存时间,Linux基础命令---修改用户密码
  5. 关于QueryRunner数据查询以及常用方法
  6. 反汇编基础-数据类型以及C++引用、指针反汇编后的概括
  7. 用户使用报告_【市场】最新手机用户使用报告 8+256GB成首选 小屏党哭了
  8. 美团回应遭反垄断调查;腾讯因《地下城与勇士》被抄袭获赔3000万;iOS 14.5 正式版发布|极客头条...
  9. 协方差矩阵及其计算方法
  10. Spoon Kettle 输入之 excel 输入详解(Microsoft Excel input)
  11. 电脑开机只显示计算机界面,电脑开机只显示主板logo进不去系统是什么原因
  12. 大腿上的妊娠纹怎么消除?
  13. 大多数日志文件的后缀名是_log4j(添加日志)
  14. 【锁】悲观锁与乐观锁实现
  15. springboot毕设项目基于微服务的闪聚支付系统设计vwt4i(java+VUE+Mybatis+Maven+Mysql)
  16. android sdio 时钟 ios-clock,【ios学习】OneClock的翻页时钟效果是如何实现的
  17. Elance新手入门
  18. matlab中结束脚本运行_一个处理dump文件的小脚本
  19. 凯撒密码的加密,破解,以及暴力破解法
  20. 阴阳师痒痒鼠挖土魂十python----最简单版本

热门文章

  1. ThinkPHP3.2.3目录结构
  2. 使用excel2003中的solver解决最优化问题
  3. Microsoft Word 段前距设置和页眉设置
  4. SQL SERVER日期函数详细用法
  5. 如何提高员工的能动性,体现员工的自我价值
  6. 使用正则表达式时,容易出错的地方~
  7. 异常的继承关系与捕获关系(只有直系的继承关系时,下面的类才能被捕获,和辈分无关!!)
  8. 力扣题目——121. 买卖股票的最佳时机
  9. Linux下browser-sync无法启动Chrome的解决方法
  10. Vue-cli proxyTable 解决开发环境的跨域问题(转)