我目前正在努力将一些旧代码从GCC移到Visual Studio。根据主题,我现在遇到的问题是OpenSSL,我只是觉得自己在追尾,还有许多未解决的外部问题。
我从不能够成功地从头开始构建OpenSSL。我得到了源代码,安装了ActivePerl和NASM,并按照构建说明来获取静态可链接调试32位版本,但是它始终卡在“ nmake test”命令中,即使我愿意也无法找到任何构建的内容使用未通过测试的东西。我尝试了Perl的变体(包括Strawberry),并对源代码文件夹进行了多次完全清理,并进行了几次重新启动,但始终停留在同一时间。这导致我下载了一些符合我的需求的预编译LIB,即32位静态链接vs2013。
这给我留下了很多类似以下的错误,我将它们放在这里,以防他们将来帮助别人找到此线程,或者如果有人读到此错误并确切知道到底是什么原因我犯的错误:
Boost \ include \ boost-1_60 \ boost / asio / ssl / detail / impl / openssl_init.ipp(43):错误C2059:语法错误:')'
Boost \ include \ boost-1_60 \ boost / asio / ssl / detail / impl / engine.ipp(221):错误C2065:“ SSL_R_SHORT_READ”:未声明的标识符
我已经在PC上构建了Boost 1.60 32bit-从零开始,这是服务时间,但是所有文档都建议ASIO 可以作为仅标头库运行,但是有时人们更喜欢构建它,这就是我遇到的问题。
如何将ASIO构建为可链接库?我已经按照boost 1.66的文档构建了所有先决条件:
“您可以通过从Boost下载包的根目录运行以下命令来构建使用Boost.Asio及其示例所需的Boost库的子集:”
b2 --with-system --with-thread --with-date_time --with-regex --with-serialization阶段
但是我仍然没有在LIB文件夹中看到ASIO文件,因此我显然缺少了一步。我尝试使用b2 --with-asio,但它表示库名称错误。
我完全愿意接受让我混乱的事情,但是来回吃了将近两天。在构建OpenSSL之前,我应该先构建BOOST吗?我应该在构建BOOST :: ASIO之前先构建OpenSSL吗?我真的迷路了。
我一直在这很多上徘徊,还没有找到解决方案,甚至还没有从类似的问题中推断出一个解决方案。