编译miracl
最近使用一些加密算法,需要用到这个开源库,不过该库的编译却稍微有点麻烦,需要一系列的人工操作才能完成。
该项目的源码托管在https://github.com/miracl/MIRACL
编译的第一步
手动创建一个目录,在后文中称为工程目录,然后把include目录和source目录下的所有文件拷贝到该目录下,source的目录的子目录中的文件也需要直接拷贝到该目录。
Linux下编译
根据需要将lib目录下的linux、linux64、linux64_cpp三个脚本文件的其中一个拷贝到工程目录下,这三个脚本分别对应32位版本C、64位版本C、64位版本C++。
执行脚本文件,即可生成miracl.a静态库。
Windows下编译
根据需要将lib目录下的ms32doit.bat、ms64doit.bat、ms64doit_cpp.bat三个脚本文件的其中一个拷贝到工程目录下,这三个脚本分别对应32位版本C、64位版本C、64位版本C++。
**然后,需要修改批处理文件。**因为cl工具默认的运行库是Multi-threaded,这样编译出来的静态库,如果拿到MFC工程下面使用,就会在链接的时候报错。
将所有的cl指令都加上参数指定运行库,例如本来的的编译指令如这样
cl /c /O2 /W3 mrcore.c
根据需要修改后为下面四种之一