Linux到Windows下代码移植

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




你可能感兴趣的:(Linux到Windows下代码移植)