- 安装ActivePerl和NASM
- 执行perl Configure no-asm no-shared no-sse2 zlib VC-WIN64A –prefix=d:\openssl-3.0.7 –with-zlib-include=d:\zlib-1.2.13 –with-zlib-lib=d:\zlib-1.2.13\zlib.lib 生成makefile
- 执行nmake 进行编译(或者使用jom)
- 执行nmake install进行安装
- VC-WIN64A 使用VC编译器编译WIN64位版本,A表示架构为X64(区别于IA64)
- VC-WIN32 使用VC编译器编译WIN32位版本
- no-shared 编译为静态库
- shared 编译为动态库(默认选项)
- zlib 使用zlib静态库
- zlib-dynamic 只用zlib动态库
- no-zlib 不使用zlib
可以通过修改第二步生成的makefile文件改变具体的编译链接选项,默认选项为/GF /Gs0 /Gy /MD,在3.1.3版本中发现已经没有这个/MD了,代码生成选项已经移动到了下面。下面是一些选项的含义。
- /O2(最大速度优化)
- /GF(消除重复的字符串)
- /Gs(控制堆栈检查调用)
- /Gy(启用函数级链接)
可以根据需要在CFLAGS中调整代码生成选项,我这里使用/MT选项,记得删除文件中其它代码生成选项。若想编译调试版本需要将/MT改为/MDd。
如果想使用jom -j<线程数>进行多线程编译,则必须给CFLAGS指定/FS选项。


另外还有一些编译链接选项是分开的,也就是静态库、动态库、可执行程序都有自己独特的编译选项,修改这些内容的时候要注意区分。
发表回复