最近用到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

最新文章

  1. yii2 可逆加密
  2. 滚动div至底部
  3. PHP 返回JSON
  4. Java多线程Socket在控制台输出的多人聊天室编程
  5. select 练习4
  6. Linux Communication Mechanism Summarize
  7. window8家庭版上的RationalRose
  8. 如何设置适当的ramp-up period值
  9. 201521123027 《JAVA程序设计》第一周学习总结
  10. [Note] Yet Another Resource Negotiator
  11. SpringBoot 自定义监听器(Listener)
  12. 隐藏软键盘(解决自定义Dialog中无法隐藏的问题)
  13. IIS:另一个程序正在使用此文件进程无法访问。
  14. pytorch入门与实践-2.2-CIFAR10分类网络
  15. java代码------charAt()的用法
  16. salt-api配置安装 以及使用
  17. STL详解
  18. 使用CSDN-markdown编辑器
  19. Linux:磁盘配额
  20. URL传递的参数是UTF-8编码,在打开的页面正常显示(GB2312)的方法

热门文章

  1. CoreAnimation 目录
  2. Webdriver初探
  3. (17)IO中的异常处理
  4. iOS开发之UITableView及cell重用
  5. 解决VIM编辑器中文乱码
  6. 用js实现图片的无缝滚动效果
  7. For循环及例题
  8. 跨站的艺术-XSS Fuzzing 的技巧
  9. 我所理解的javascript中函数的作用域和作用域链
  10. Linux命令速查大全