欢迎来到天天文库
浏览记录
ID:9264522
大小:361.81 KB
页数:15页
时间:2018-04-25
《使用vc6编译curl和libcurlsslssh2zlib》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、目录使用VC6编译Curl和LibCurl2编译Openssl2编译zlib2编译libssh22VC6编译libssh24libssh2动态编译6编译LibCurl7方法一:7方法二:使用Makefile.vc6编译12编译Curl13小结15使用VC6编译Curl和LibCurl编译Openssl下载Openssl源码下载Perl一、cmd切换到openssl-1.0.2d,输入命令perlConfigureVC-WIN32no-asmmsdo_msnmake-fmstdll.mak(动态编译)nmake-fnt.mak(
2、静态编译)编译zlibcdC:curlzlib-1.2.8nmake-fwin32/Makefile.mscOBJA="inffast.obj"编译libssh2检测后发现libssh2没有编译,因为源码都没有下载。最新版本下载地址:http://libssh2.org/download/libssh2-1.6.0.tar.gz解压打开C:libssh2-1.6.0win32config.mk修改openssl和zli的路径。这里使用OPENSSLINC=C:opensslinclude时编译错误!使用OPENSSLI
3、NC=C:opensslinc32不出错。下面的C:opensslout32dll改为C:opensslout32,生成的就是静态的文件。使用VS2010的nmake/fNmakefile生成成功:只是生成了libssh2.dll,没有库文件。VC6编译libssh2设置下头文件设置动态库编译出错:解决方法:打开C:libssh2-1.6.0srcsession.c写入代码,定义了宏,避免对其它版本的编译器造成影响。//解决VC6errorC2065:'socklen_t':undeclaredidentifier
4、#ifdefined(_MSC_VER)&&(_MSC_VER==1200)typedefintsocklen_t;#endif////////////////编译成功!注意Win32OpenSSLDLLRelease默认只生成dll文件,新建一个TextFile,名字随便,后缀名为def,重新编译就可以生成动态链接库的lib文件。这个文件直接使用静态编译的就可以了。复制需要的lib到libcurl中,编译libcurl就可以支持libssh2了。可以选择静态还是动态的lib文件。在C:curl-7.45.0libconfig
5、-win32.h加入链接库#pragmacomment(lib,"C:/libssh2-1.6.0/win32/Release_dll/libssh2.lib")Lib中加入lib的路径,生成的就是动态库版本libssh2动态编译虽然可以直接动态编译,但是生成的文件中没有lib文件,libcurl+ssh2的动态编译无法成功。打开C:libssh2-1.6.0includelibssh2.h里面有关于与这方面的定义,添加对于的处理器定义就可以了。发现上面的LIBSSH2_WIN32和_WINDLL为黑色,就是没有定义。那么要添
6、加的定义就是这两个:LIBSSH2_WIN32,_WINDLL编译后就生成功了!编译LibCurl方法一:VC6项目编译现在是2015年11月15日星期日从官方网站下载了最新的Curlhttp://curl.haxx.se/download/curl-7.45.0.zip解压后,打开C:curl-7.45.0projectsWindows,可以看到有项目工程。curl-all.dsw项目中包行了多种编译模式。其中OpenSSL需要下载OpenSSL默认路径安装好Perl,下载好Openssl的源码解压到C盘下,重命玮open
7、ssl。修改部分源码,VC不支持VC99,有些代码需要转换打开C:curl-7.45.0libconfig-win32.h//VC6是C98#ifdefined(_MSC_VER)&&(_MSC_VER==1200)#defineALLOW_MSVC6_WITHOUT_PSDK1typedef__int64LONGLONG;#endif//VC6缺省是不定义_WIN32_WINNT宏的#ifndef_WIN32_WINNT#define_WIN32_WINNT0x0400#endif#include"windows.h"#in
8、clude"Wincrypt.h"C:curl-7.45.0libcurl_ntlm_core.ctw=((longlong)time(NULL)+11644473600ULL)*10000000ULL;报错:'badsuffi
此文档下载收益归作者所有