最近用到Dlib库,需要先编译。

本文利用 cmake + Sublime Text 2 + MinGW实现编译。

1. 下载dlib源码[dlib18.17]http://pan.baidu.com/s/1gey9Wd1

2. 下载安装Sublime text2 for windows  http://www.sublimetext.com/

  可选装绿色版。

3. 下载安装MinGW 与 系统变量设置 http://sourceforge.net/projects/mingw/

  本文使用的C/C++编译器是gcc/g++,所以需要下载安装MinGW。

  安装完成后会让用户选择需要下载的Package。选择 MinGW Compiler Suite之后,添加 The GNU C++ Compiler 的相关项即可。

  

【设置环境变量】

右击我的电脑,点属性->高级->环境变量。

在环境变量PATH 添加系统 MinGW 的实际安装位置,如: D:\Program Files\MinGW 或者比如本文中演示的C:\MinGW\bin。在PATH里加入C:\MinGW\bin(具体路径请根据你的MinGW选择)。如果PATH里面还有其他的变量,记得要加个英文半角分号。一般 PATH 中的变量会非常的多,不同变量之间使用;分隔。

新建LIBRARY_PATH变量,如果有的话,在值中加入C:\MinGW\lib,这是标准库的位置。

新建C_INCLUDEDE_PATH变量,值设为C:\MinGW\include。

检查变量设置:Win+R输入: cmd ,在命令行中输入: g++ -v ,有内容输入证明环境变量配置正确.如果出现 'g++' 不是内部或外部命令,也不是可运行的程序或批处理文件。 检查上一步配置.

4. Sublime Building System 设置

Windows下,要在Sublime Text 2中实现编译、运行C/C++代码,需要修改或新建一个C++编译配置。
具体是:Sublime Text 2中Tools -> Build System -> New Build System
 
输入如下内容,并将文件保存为C++Bulider.sublime-bulid
{
"cmd": ["g++", "${file}", "-o", "${file_path}/${file_base_name}"],
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
"working_dir": "${file_path}",
"selector": "source.c, source.c++",
"encoding": "cp936",
"shell": true, "variants":
[
{
"name": "Run",
//"cmd": ["CMD", "/U", "/C", "g++ ${file} -o ${file_base_name} && ${file_base_name}"]
"cmd": [ "start", "${file_path}/${file_base_name}.exe"]
}
]
}

然后选择 Tools -> Build System -> C++Bulider.sublime-bulid

5. 编译测试

经过以上步骤搭建好C/C++编译环境后,就可以在Sublime Text 2中编译运行C/C++代码了。

测试:hello world.

ctrl+B:生成

ctrl+shift+B:运行

6. 使用 cmake编译,选择编译器 Sublime Text 2 + MinGW

如果编译不能通过,错误提示 CMAKE_MAKE_PROGRAM NOT FOUND,

尝试勾选advanced,在MinGW/bin 目录下执行: mingw-get.exe install mingw32-make  可以解决问题;

如果解决不了,请参考[2]中其它解决办法。

[参考文章:如有侵权,请告知,立即删除]

1. http://blog.sina.com.cn/s/blog_6e7384df0101qzya.html

2. https://stackoverflow.com/questions/6141608/cmake-make-program-not-found/19028745#19028745

Windows7 x64 编译Dlib库的更多相关文章

  1. C++编译Dlib库出现LNK2001错误(原因是在Python中安装过Dlib)

    问题 使用CMake编译Dlib库,编译得到lib文件后,新建一个VS工程想使用Dlib,却出现LNK2001:无法解析的外部符号的错误,且都与JPEG和PNG相关: 1>dlib19.17.9 ...

  2. Windows7 x64 系统下安装 Nodejs 并在 WebStorm 9.0.1 下搭建编译 LESS 环境

    1. 打开Nodejs官网http://www.nodejs.org/,点“DOWNLOADS”,点64-bit下载“node-v0.10.33-x64.msi”. 2. 下载好后,双击“node-v ...

  3. VS编译 x64版本zlib库

    编译的过程倒也不是很难.我把编译的源码和脚本及说明都放在gitee上了. 详细的可以见这里 https://gitee.com/solym/zlib-1.2.11.git 可以参考这些文章 win10 ...

  4. Windows7 x64系统下安装Nodejs并在WebStorm下搭建编译less环境

    1. 打开Nodejs官网http://www.nodejs.org/,点“DOWNLOADS”,点64-bit下载“node-v0.10.33-x64.msi”. 2. 下载好后,双击“node-v ...

  5. 矩池云上编译安装dlib库

    方法一(简单) 矩池云上的k80因为内存问题,请用其他版本的GPU去进行编译,保存环境后再在k80上用. 准备工作 下载dlib的源文件 进入python的官网,点击PyPi选项,搜索dilb,再点击 ...

  6. 配置自己的OpenGL库,glew、freeglut库编译,库冲突解决(附OpenGL Demo程序)

    平台:Windows7,Visual C++ 2010 1. 引言 实验室的一个项目,用到OpenGL进行实时绘制,还用到一些其他的库,一个困扰我很久的问题就是编译时遇到的各种符号未定义,符号重定义之 ...

  7. 编译jsoncpp库以及要注意的问题

    原创文章,转载请注明原作者与本文原始URL. 版本:jsoncpp-src-0.5.0.zip简介:jsoncpp是用cpp实现的json库,可以拼装,解析,生成json串.我们要把他编译成动态库.这 ...

  8. dlib库使用

    最近的工作中用到了dlib这个库,该库是一个机器学习的开源库,使用起来很方便,直接包含头文件即可,并且不依赖于其他库(自带图像编解码库源码).不过由于是开源的,所以bug多少有一些,我在example ...

  9. dlib库学习之一

    dlib库学习之一 1.介绍 跨平台 C++ 通用库 Dlib 发布 ,带来了一些新特性,包括概率 CKY 解析器,使用批量同步并行计算模型来创建应用的工具,新增两个聚合算法:中国低语 (Chines ...

随机推荐

  1. adt的问题An internal error has occurred. After scene creation, #init() must be called

    这个问题困扰了我好久,我也尝试去百度.google无济于事啊,让我寝食难安,太难受了,我把它贴出来,希望后人不绕弯子... 解决办法: 即可,解决这一个问题,现在酣畅淋漓,挥洒自如的capy代码了

  2. Mysql的2003错误 cant connect to mysql 10060的解决

    网上有很多这个问题,令人遗憾的是,都是复制粘贴的繁琐的命令行操作.我解决这个问题是在安装有可视化工具的前提下完成的.我想,使用Mysql数据库的大多数还是安装有可视化开发工具的吧,我就用phpMyAd ...

  3. C# const和readonly修饰符的区别

    const 的概念就是一个包含不能修改的值的变量.常数表达式是在编译时可被完全计算的表达式.因此不能从一个变量中提取的值来初始化常量.如果 const int a = b+1;b是一个变量,显然不能再 ...

  4. selenium自动化--(JAVA方法写的)第一章 源代码工程的导入

    1.首先打开eclipse,找到eclipse的工程窗口界面,依次找到"import-->import"功能 2.在弹出来的导入对话框中,选择导入已存在的工程"Ex ...

  5. unity3d屏蔽Windows10输入法

    在win10上,如果安装了某些输入法(比如QQ输入法),会造成unity的键盘事件被输入法捕获而不能触发的情况.只有将输入法切换到英文状态下才能响应键盘事件. 解决办法有, 1:用户主动切换输入法,甚 ...

  6. websocket 项目应用

    序言 很早就想用起来websocket,可惜需要后台服务的支持,技术的翻新总会给我带来巨大的冲击,最近后端人员学习了websocket相关后台技术.于是我们开始动起来了. 学习 这位大兄弟的文章  h ...

  7. 自动化测试培训:设计和实现分布式QTP调用

    自动化测试培训:设计和实现分布式QTP调用   自动化测试的过程中一个很核心的需求就是执行效率,单位时间里要执行更多的测试用例.为了完成该要求,我们开发一个调度工具,让qtp运行在不同的机器上,通过C ...

  8. Java集合总结系列2:Collection接口

    Collection 接口是 Java 集合类的一个根接口,Java 在 Collection 接口中定义了许多通用的数据操作类方法以及判断类方法. 通过查看 API 文档或源码的方式,我们可以了解到 ...

  9. JAVA加密算法系列-AesEBC

    package ***; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java. ...

  10. [Linux] PHP程序员玩转Linux系列-Nginx中的HTTPS

    1.PHP程序员玩转Linux系列-怎么安装使用CentOS 2.PHP程序员玩转Linux系列-lnmp环境的搭建 3.PHP程序员玩转Linux系列-搭建FTP代码开发环境 4.PHP程序员玩转L ...