mak 文件里面存放的是编译时的参数配置,make命令是有了c以后才会有的,他是用来 *** 作.mak文件的。
这个是学了编程的人才会明白是咋回事的,有学C语言的话应该多多少少都会看见这个后缀的文件,很多人在学习编程入门的时候都会学习C语言。
C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。
尽管C语言提供了许多低级处理的功能,但仍然保持着跨平台的特性,以一个标准规格写出的C语言程序可在包括类似嵌入式处理器以及超级计算机等作业平台的许多计算机平台上进行编译。
参考openssl目录下的install.win32说明进行安装:1、进入解压目录。
>cd C:\openssl-0.9.8k
2、运行Configure。
>perl Configure VC-WIN32
如不成功会有明显提示。
3、创建Makefile文件。
>ms\do_ms
推荐使用这种方式,另外两种方式 如果使用也必须保证本机有编译器才能使用。
:ms\do_masm (默认vc 自带的编译器;也也以自己下载安装)
:ms\do_nasm (需要自己下载)
4、配置VC环境变量。
>cd C:\Program Files\Microsoft Visual Studio\VC98\Bin
>vcvars32.bat
5、编译动态链接库。
>cd C:\openssl-0.9.8k
>nmake -f ms\ntdll.mak
可能会缺少“ml.exe”,可下载masm并把其中的ml.exe拷贝至C:\Program Files\Microsoft Visual Studio\VC98\Bin下即可。
运行 nmake -f ms\ntdll.mak test.检查上一部编译是否成功。正常的话会执行编译后的测试程序
至此OpenSSL在windows下编译完成,编译得到的dll和lib文件位置:静态库libeay32.lib和ssleay32.lib位于out32文件夹下,动态库libeay32.dll,libeay32.lib,ssleay32.dll,ssleay32.lib位于out32dll文件夹下。
6、为VC添加头文件和静态链接库路径。
ToolsàOptionsàDirectores,在Include files中增加C:\openssl-0.9.8k \inc32目录;在Libray files中增加C:\openssl-0.9.8k\out32dll。
7、编写OpenSSL程序,可参考C:\openssl-0.9.8k\demos
(1)包含相应头文件
#include <openssl/***.h>
(2) 添加静态链接库
#pragma comment(lib, "libeay32.lib")
#pragma comment(lib, "ssleay32.lib")
或ProjectàSettingsàLinkàObject\library modules填写libeay32.lib ssleay32.lib。
(3)将动态链接库ssleay32.dll, libeay32.dll复制到C:\WINDOWS\system32或Debug目录下,确保动态链接库在正确的路径。
可能遇到的问题:
1、NMAKE : fatal error U1077: 'ml' : return code '0x1'
解决办法:在环境变量PATH中添加路径C:\masm32\bin,并按照参考资料3修改ml.exe文件。
2、NMAKE : fatal error U1077: 'cl' : return code '0x2'
解决办法:去掉ipv6(命令行中执行perl Configure VC-WIN32 -DOPENSSL_USE_IPV6=0)
3、fatal error LNK1103: debugging information corruptrecompile module
解决办法:去掉ms文件夹下对应文件nt.mak或ntdll.mak文件中/debug选项
.mak文件需要用VC的C1编译器或Linux等Command编译打开。
.mak文件即makefile,类似于*.dsw和*.dsp文件的和;在VC
IDE中tools-->Options-->Build在该tag页面中将Export
Makefile打上勾,就能将你的App生成makefile文件。
makefile(.mak)的作用是命令行编译连接命令nmake使用的文件。它以文本的方式规定了nmake要编译那些文件,生成那些文件,要连接那些文件,生成的.exe文件的名称等,也支持增量编译。它有自己的一套语法。想了解详情可以百度make
files。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)