我正在编译Visual Studio 2015和Boost v1.61和OpenSSL v“1.1.0-pre7-dev” (来自OpenSSL Github )。 按照INSTALL文件中的说法,我安装了OpenSSL(对于debugging mod):
$ perl Configure VC-WIN32 --prefix=D:/OpenSSL/build/debug --debug $ nmake $ nmake test $ nmake install
在项目设置中,我补充道:
“C / C ++ – General”(D:/ OpenSSL / build / debug / include)中的include目录path
“链接器 – 一般 – 其他依赖项”中的lib目录(D:/ OpenSSL / build / debug / lib)
我使用c ++ boost asio SSL库,但是当我构build项目时,我有这个错误(请参阅这个pastebin的完整输出):
1> main.cpp 1>d:\boost\boost_1_61_0\boost\asio\ssl\detail\impl\openssl_init.ipp(43): error C2589: '(' : jeton non conforme à droite de '::' 1>d:\boost\boost_1_61_0\boost\asio\ssl\detail\impl\openssl_init.ipp(43): error C2059: erreur de syntaxe : '::' 1>d:\boost\boost_1_61_0\boost\asio\ssl\detail\impl\openssl_init.ipp(46): error C2589: ';' : jeton non conforme à droite de '::' 1>d:\boost\boost_1_61_0\boost\asio\ssl\detail\impl\openssl_init.ipp(46): error C2059: erreur de syntaxe : '::' 1>d:\boost\boost_1_61_0\boost\asio\ssl\detail\impl\openssl_init.ipp(47): error C2589: ';' : jeton non conforme à droite de '::' 1>d:\boost\boost_1_61_0\boost\asio\ssl\detail\impl\openssl_init.ipp(47): error C2059: erreur de syntaxe : '::' 1>d:\boost\boost_1_61_0\boost\asio\ssl\detail\impl\openssl_init.ipp(64): error C2589: ';' : jeton non conforme à droite de '::' 1>d:\boost\boost_1_61_0\boost\asio\ssl\detail\impl\openssl_init.ipp(64): error C2059: erreur de syntaxe : '::' 1>d:\boost\boost_1_61_0\boost\asio\ssl\detail\impl\openssl_init.ipp(65): error C2589: ';' : jeton non conforme à droite de '::' 1>d:\boost\boost_1_61_0\boost\asio\ssl\detail\impl\openssl_init.ipp(65): error C2059: erreur de syntaxe : '::' 1>d:\boost\boost_1_61_0\boost\asio\ssl\detail\impl\openssl_init.ipp(66): error C2589: 'while' : jeton non conforme à droite de '::' 1>d:\boost\boost_1_61_0\boost\asio\ssl\detail\impl\openssl_init.ipp(66): error C2059: erreur de syntaxe : '::' 1>d:\boost\boost_1_61_0\boost\asio\ssl\detail\impl\openssl_init.ipp(72): error C2589: 'while' : jeton non conforme à droite de '::' 1>d:\boost\boost_1_61_0\boost\asio\ssl\detail\impl\openssl_init.ipp(72): error C2059: erreur de syntaxe : '::' 1>d:\boost\boost_1_61_0\boost\asio\ssl\detail\impl\openssl_init.ipp(73): error C2589: 'while' : jeton non conforme à droite de '::' 1>d:\boost\boost_1_61_0\boost\asio\ssl\detail\impl\openssl_init.ipp(73): error C2059: erreur de syntaxe : '::' 1>d:\boost\boost_1_61_0\boost\asio\ssl\detail\impl\openssl_init.ipp(76): error C2589: 'while' : jeton non conforme à droite de '::' 1>d:\boost\boost_1_61_0\boost\asio\ssl\detail\impl\openssl_init.ipp(76): error C2059: erreur de syntaxe : '::' ...
我注意到,即使我省略链接器中添加lib目录我有同样的错误。
为什么我得到编译错误?
编辑1:
感谢jww的回答,的确,OpenSSL的1.1.0版本与当前版本的Boost不兼容。 我下载了OpenSSL 1.0.2h,这个效果很好。