使用VC6编译Curl和LibCurlsslssh2zlib.docx_第1页
使用VC6编译Curl和LibCurlsslssh2zlib.docx_第2页
使用VC6编译Curl和LibCurlsslssh2zlib.docx_第3页
使用VC6编译Curl和LibCurlsslssh2zlib.docx_第4页
使用VC6编译Curl和LibCurlsslssh2zlib.docx_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目录使用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,输入命令perl Configure VC-WIN32 no-asmmsdo_ms nmake -f msntdll.mak (动态编译)nmake -f nt.mak(静态编译)编译zlibcd C:curlzlib-1.2.8nmake -f win32/Makefile.msc OBJA=inffast.obj 编译libssh2检测后发现libssh2没有编译,因为源码都没有下载。最新版本下载地址:/download/libssh2-1.6.0.tar.gz解压打开C:libssh2-1.6.0win32config.mk修改openssl和zli的路径。这里使用OPENSSLINC=C:opensslinclude时编译错误!使用OPENSSLINC=C:opensslinc32 不出错。下面的C:opensslout32dll改为C:opensslout32,生成的就是静态的文件。使用VS2010的nmake /f Nmakefile生成成功:只是生成了libssh2.dll,没有库文件。VC6 编译libssh2设置下头文件设置动态库编译出错:解决方法:打开 C:libssh2-1.6.0srcsession.c写入代码,定义了宏,避免对其它版本的编译器造成影响。/ 解决VC 6 error C2065: socklen_t : undeclared identifier#if defined(_MSC_VER) & (_MSC_VER = 1200)typedef int socklen_t;#endif/编译成功!注意Win32 OpenSSL DLL Release 默认只生成dll文件,新建一个TextFile,名字随便,后缀名为def,重新编译就可以生成动态链接库的lib文件。这个文件直接使用静态编译的就可以了。复制需要的lib到libcurl中,编译libcurl就可以支持libssh2了。可以选择静态还是动态的lib文件。在C:curl-7.45.0libconfig-win32.h 加入链接库#pragma comment(lib,C:/libssh2-1.6.0/win32/Release_dll/libssh2.lib) Lib中加入lib的路径,生成的就是动态库版本libssh2动态编译虽然可以直接动态编译,但是生成的文件中没有lib文件,libcurl+ssh2的动态编译无法成功。打开C:libssh2-1.6.0include libssh2.h里面有关于与这方面的定义,添加对于的处理器定义就可以了。发现上面的LIBSSH2_WIN32和_WINDLL为黑色,就是没有定义。那么要添加的定义就是这两个: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盘下,重命玮openssl。修改部分源码,VC不支持VC99,有些代码需要转换打开C:curl-7.45.0libconfig-win32.h/ VC6 是C98#if defined(_MSC_VER) & (_MSC_VER = 1200)#define ALLOW_MSVC6_WITHOUT_PSDK 1typedef _int64 LONGLONG;#endif/ VC6 缺省是不定义_WIN32_WINNT宏的#ifndef _WIN32_WINNT #define _WIN32_WINNT 0x0400 #endif#include windows.h#include Wincrypt.hC:curl-7.45.0libcurl_ntlm_core.ctw = (long long)time(NULL) + 11644473600ULL) * 10000000ULL;报错:bad suffix on number替换为/long long在linux下的gcc/g+里面,搞版本的VS也是支持的/_int64是windows专用的,被vc、gcc等编译器支持#if defined(_MSC_VER) & (_MSC_VER = 1200) unsigned _int64 aa = 11644473600; unsigned _int64 bb = 10000000; tw = (_int64)time(NULL)+aa) * bb;#else tw = (long long)time(NULL) + 11644473600ULL) * 10000000ULL; /保持原来的代码不变#endifCmd 打开Program FilesMicrosoft Visual StudioVC98BinVCVARS32.BAT。cd到C:curl-7.45.0projects 输入编译参数 build-openssl.bat vc6 x86 release这个三个参数分别是VC的版本vc6vc14,编译平台x86或x64和release或者debug。提示出错的vc6 is not installed解决方法:设置下VC的路径if /i %1 = vc6 ( set VC_VER=6.0 set VC_DESC=VC6set VC_PATH=D:Program FilesMicrosoft Visual StudioVC98修改VC的路径为 set VC_PATH=D:Program FilesMicrosoft Visual StudioVC98注意是三个”。回车就开始编译了编译成功!生成了5个文件,其中带SSH2的是没有生成成功的。方法二:使用Makefile.vc6编译首先使用perl需要处理下openssl的源码:perl Configure debug-VC-WIN32 no-asm -prefix=%CD%msdo_msrem Configuring 64-bit Debug Buildperl Configure debug-VC-WIN64A -prefix=%CD%msdo_win64arem Configuring 64-bit Release Buildperl Configure VC-WIN64A -prefix=%CD%msdo_win64arem Configuring 32-bit Debug Buildperl Configure debug-VC-WIN32 no-asm -prefix=%CD%msdo_msrem Configuring 32-bit Release Buildperl Configure VC-WIN32 no-asm -prefix=%CD%msdo_ms统一编译命令:nmake -f msnt.mak nmake -f msntdll.makcmd 打开Program FilesMicrosoft Visual StudioVC98BinVCVARS32.BATcd C:curl-7.45.0lib注意不要有空格!路径可以使用绝对路径,修改成对应的set OPENSSL_PATH=C:openssl-1.0.2dset ZLIB_PATH=C:zlib-1.2.8set LIBSSH2_PATH=C:libssh2-1.6.0输入编译设置nmake -f Makefile.vc6 CFG=release-ssl-ssh2-zlib编译结果:这里的选项可以根据实际需要来编译这个脚本写的挺好的,使用起来超级方便。编译Curl直接打开Curl的工程进行编译就可以了。提示缺少文件的直接从编译好的LibCurl、openssl、libssh2中复制复制libcurl.lib到这个目录就可以了小结以上的每一个都可以成功编译了。就可以直接打开C:curl-7.45.0pro

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论