最近在使用mingw,对linux版本的代码进行win版本的兼容,在这个过程中使用了openssl,之前是在linux上使用,这次需要在win上使用,所以需要使用mingw对其进行交叉编译,废话不多说,直接说步骤:
一、下载openssl源码,我使用的是openssl-1.0.2
二、在ubuntu上解压,进入到openssl文件夹,进行配置,直接如下配置就OK:
./Configure --prefix=$(pwd)/output no-asm mingw no-shared --cross-compile-prefix=i686-w64-mingw32-
使用mingw交叉编译和arm交叉编译其实没啥区别。
1、--prefix:指定安装路径
2、no-asm:在编译过程中不使用汇编代码加快编译过程
3、mingw:使用的环境是mingw
4、no-shared:不生成动态库
5、--cross-compile-prefix:配置交叉编译器
三、直接make,估计需要等待几分钟,注意,在编译的过程中,注意观察make时传入的参数,因为应用在调用生成的静态库时,会出现这样、那样的错误,很有可能就是因为在编译时传入的参数不对或者没有传入相应的参数,我的经验是,如果出现这样的错误,直接将库编译时传入的CFLAGS或者LDFLAGS直接复制,这样就不会出现奇奇怪怪的错误了。
四、make install,这样,生成的相关库和头文件就被复制到./output这个文件夹了,libcrypto.a libssl.a就可以直接用了。
OK,今天就记录到此了,其实mingw和arm-linux-gcc没啥区别,当然,只是使用的方法,本质上是有巨大的区别的
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)