高校微信网站建设情况汇报,宣传片文案,阿里云网站备案,做技术一般逛那些网站使用Crow的时候需要注意crow依赖asio依赖OpenSSL#xff0c;asio要求1.22以上版本#xff0c;我使用的是1.26.0#xff1b; 这个版本的asio要求OpenSSL是1.0.2#xff0c;其他版本我得机器上编不过#xff0c;ubuntu上默认带的OpenSSL是1.1.1; 所以我下载了OPENSSL1.2.0重…使用Crow的时候需要注意crow依赖asio依赖OpenSSLasio要求1.22以上版本我使用的是1.26.0 这个版本的asio要求OpenSSL是1.0.2其他版本我得机器上编不过ubuntu上默认带的OpenSSL是1.1.1; 所以我下载了OPENSSL1.2.0重装地址 https://www.openssl.org/source/old/ 编译cpp启用Crow的SSL时会出现一些问题 比如
1 undefined reference to SSL_library_init’
出现这个提示需要在编译时指定链接 crypto 和 ssl 库
2 undefined reference to dlopen’
出现这个提示需要在编译时指定链接 dl 库
3 undefined reference to X509_certificate_type’
出现这个提示需要在编译时指定链接openssl的位置
4 以上需要指定的库和地址都加上之后还是报错可能是指令顺序问题 例如
// ×
g example_ssl.cpp -L/usr/local/openssl/lib -lssl -ldl -lcrypto -DCROW_ENABLE_SSL1 -o ssl_example -stdc11 -lpthread// √
g example_ssl.cpp -L/usr/local/openssl/lib -lssl -lcrypto -DCROW_ENABLE_SSL1 -o ssl_example -stdc11 -lpthread -ldl上面两行只是调整了 -ldl 所在的位置就会消除部分错误 具体原因参考 https://qastack.cn/programming/956640/linux-c-error-undefined-reference-to-dlopen
https://stackoverflow.com/questions/11893996/why-does-the-order-of-l-option-in-gcc-matter/11894098#11894098