用MinGW编译njit-client

未经许可,禁止转载。
本文链接地址: https://www.annhe.net/article-855.html

MinGW有autoconf,automka等工具,但是没找到libpcap,libssl,所以configure时遇到很大的麻烦。
网上狂搜,找到了装openssl的方法,并且成功了:
1. mingw主页http://www.mingw.org/
安装程序在http://sourceforge.net/projects/mingw/files/
安装程序会再连接网络, 下载需要的组件
openssl主页http://www.openssl.org/
当前版本是openssl-1.0.1.tar.gz
下载后解压到c盘c:\openssl-1.0.1
2. 运行MinGW Shell
cd /c/openssl-1.0.1/
这里要修改 md2test.c 的内容从 dummytest.c 改为 #include “dummytest.c”, 不然出现错误
md2test.c:1:10: 错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘.’ token
同样修改的文件有rc5test.c, jpaketest.c
./config
make
得到的文件是libcrypto.a, libssl.a
3.
mkdir out/
mv libcrypto.a libssl.a out/
ms\mingw32.bat文件中的命令:
这里要替换路径分隔符 \ 为 /
perl util/mkdef.pl 32 libeay >ms/libeay32.def
perl util/mkdef.pl 32 ssleay >ms/ssleay32.def
dllwrap –dllname libeay32.dll –output-lib out/libeay32.a –def ms/libeay32.def out/libcrypto.a -lws2_32 -lgdi32
dllwrap –dllname libssl32.dll –output-lib out/libssl32.a –def ms/ssleay32.def out/libssl.a out/libeay32.a
mv libeay32.dll libssl32.dll out/

(文章引自:http://co63oc.blog.51cto.com/904636/833481



1. 下载 OpenSSL: http://www.openssl.org/source/openssl-1.0.1c.tar.gz

2. 编译:说明文件:INSTALL.W32

进入MinGW Shell
$ tar xzvf openssl-1.0.1c.tar.gz

$ cd openssl-1.0.1c

$ ./config

$ make

$ make test

如果需要编译动态链接库:

./config -t
./config threads shared no-capieng
make depend
make
make test
make install

3. 复制库文件和头文件

$ cp openssl-1.0.1c/include/* mingw/include -a

$ cp openssl-1.0.1c/libssl.a mingw/lib

$ cp openssl-1.0.1c/libcrypto.a mingw/lib

4. 使用

a. 静态链接: 使用libcrypto.a 和 libssl.a

b. 动态链接(DLL): 使用libcrypto.dll.a和libssl.dll.a
需要额外链接的库:-lws2_32 -lgdi32 -lcrypt32
(文章引自:http://blog.csdn.net/hansel/article/details/7609077

下面是libpcap,这个有点麻烦了,下载了源码,编译不能通过。
又找到了所谓的windows下的libpcap的替代winpcap,将libwpcap.a放到MinGW的lib目录下,其他文件也按照要求复制了,不过configure的时候找的是libpcap,将libwpcap改名为libpcap会报错,将configure里面的libpcap全部替换为libwpcap还是找不到pcap,无奈,看来只有去实验Cygwin了。



未经许可,禁止转载。
本文链接地址: https://www.annhe.net/article-855.html

One thought on “用MinGW编译njit-client

  1. @以有涯随无涯殆矣 问已经用MinGW编译了openssl,但是搜不到怎么装libpcap,不过搜到了winpcap,可不可以用winpcap?
    答:我以前就用过winpcap,现在你在MinGW环境下,遇到的问题njit客户端源码包里的configure脚本不能很好的支持MinGW,如果熟悉gcc命令的话也可以直接手动编译C语言源代码文件。搞Makefile的话反而比手动敲gcc命令更难一些

发表评论

电子邮件地址不会被公开。 必填项已用*标注