Linux下拥有丰富的代码,github等Linux代码集散区都有大量的Linux代码,因此若能够移植到windows下使用,能够很好地促进开发。
通常的开源代码中都预留了visual studio的工程接口,无论是直接的还是CMake通过CMakeList生成的。此外还有一些并非visual studio接口,因此对我们使用visual studio进行利用有很大的不便。此时就需要使用Cygwin和MinGW进行编译。
1、Cygwin
介绍看官网:https://www.cygwin.com/
安装:
1)官方download
2)运行Installer,
3)官方下载器,一直下载安装包,安装必备组件
2、MinGW
介绍看官网:http://www.mingw.org/
1)官方download
2)运行Installer(中间出现错误,多尝试几次,网络原因)3)官方下载器,一直下载安装包,安装必备组件
MinGW相对小一些,目前先使用MinGW。
配置:将bin文件夹所在目录加入Path环境变量,直接使用cmd运行。
3、对zbar进行编译
为了在windows下利用zbar代码,因此使用MinGW进行代码编译,生成符合visual studio要求的DLL和LIB文件。
1、首先下载zbar代码:http://zbar.sourceforge.net/,下载源代码包
2、解压源码包,在cmd下,切换到目录下,使用sh ./configure --without-qt --without-imagemagick --without-python --without-gtk --enable-video=no --enable-pthread=no 配置makefile
3、make 进行编译,注意此时整个源码文件夹最好放在桌面,起初放置在D盘下,目录引起了编译错误,ltmain.sh 生成ltmain.c 中目录定义常量定义错误
4、在zbar/.lib/下生成.dll和.def
5、为了获取导出库可以使用dll的def生成lib: dlltool -D libzbar-0.dll -d libzbar-0.dll.def -l libzbar-0.lib (此外网络上还有lib命令,但是在mingw中未找到,可能是新版本的放弃了或者相应的包未安装,使用mingw-util也没有找到)
6、至此生成了dll 和lib
注:MSVC和linux下的动态库、静态库都是可以相互转换的,可以使用mingw和cygwin中的工具进行转换
王安石是个理想主义者,而理想主义者大多下场都很惨
参考文献
1、http://blog.csdn.net/guoxiaoqian8028/article/details/26174529
2、http://blog.csdn.net/guoxiaoqian8028/article/details/18915551
3、http://blog.sina.com.cn/s/blog_60f8483a0100q2r4.html