先说probuf:
1.安装CMake。
2.打开“适用于VS 2017的x86本机工具命令提示”
3.在打开的窗口中,CD {probuf所在路径}\cmake 下,确实进入该路径下,输入
mkdir build & cd build
mkdir x86 & cd x86
mkdir debug & cd debug
4.使CMake来创建make文件:
cmake -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=Debug -Dprotobuf_BUILD_SHARED_LIBS=ON -Dprotobuf_BUILD_TESTS=OFF -DCMAKE_GENERATOR_TOOLSET=v140_xp -DCMAKE_INSTALL_PREFIX=../../../../install/x86/debug ../../..
5.调用nmake进行编译,此时只需要运行nmake即可,makefile文件已经生成了。
nmake
6.进行install操作
nmake install
执行成功后{probuf所在路径}\install下就会有lib等文件。
7.clean掉编译中间文件
nmake clean
要编译其它版本的probuf时,重复2~7的流程,并作适当更改,如打开“适用于VS 2017的x64本机工具命令提示”,将路径中的debug改成Release等。
再说OpenSSL1.1.0h:
1.先安装ActivePerl
及
可选安装nasm,并在系统变量的Path中添加nasm的所在路径(若不安装则编译时需要设置no-asm项)。
2.打开“适用于VS 2017的xxx本机工具命令提示”
3.输入
Perl Configure {VC-WIN32 | VC-WIN64A | VC-WIN64I} {shared | no-shared} [no-asm] [--debug] [--prefix={路径}] [--openssldir={路径}]
上面的VC-WIN32 | VC-WIN64A | VC-WIN64I分别对应win32,AMD64(x86_64)和Intel64。
shared | no-shared表示便以为lib还是dll(dll可用功能更多)。
--debug表示编译Debug版本的库。实验表明编译时确实有DEBUG和_DEBUG的定义,而且编译出来的库较大。
4.直接
nmake
就可以了。
有的文章说什么ms\do_asm或者nmake -f ms\ntdll.mak等等都无效了。
5.进行install
nmake install
就可在之前设置的prefix中找到库文件了。