Linux EC2环境下安装Boost后无法找到/使用bjam求助
解决Boost SSL编译及bjam安装问题
1. 正确安装bjam(无需单独下载)
Boost源码包自带bjam的构建脚本,不用单独下载零散的bjam文件,步骤:
- 回到Boost源码解压目录(若之前仅完成安装未保留源码,需重新下载对应版本的Boost源码包解压)
- 运行构建脚本生成bjam和b2:
./bootstrap.sh - 生成的
bjam和b2文件在当前目录,可复制到系统全局路径方便调用:sudo cp bjam /usr/local/bin/ sudo cp b2 /usr/local/bin/ - 验证:输入
bjam --version,能正常输出版本即安装完成。
2. 让Boost正确关联OpenSSL
EC2预装的OpenSSL默认路径一般为:头文件/usr/include/openssl、库文件/usr/lib64(x86_64架构);若为自行编译安装的源码,默认路径是/usr/local/ssl。需确保Boost编译时启用SSL支持:
- 若之前编译Boost未指定OpenSSL,重新运行bootstrap并指定路径(系统预装用
/usr,自定义安装替换为/usr/local/ssl):./bootstrap.sh --with-openssl=/usr - 重新编译Boost的SSL相关模块:
该命令会将带SSL支持的Boost库安装到系统路径,同步更新头文件关联。./bjam --with-system --with-thread --with-date_time --with-asio link=shared install
3. 用bjam编译SSL服务器示例
进入Boost SSL示例目录(比如boost_xx_xx/libs/asio/example/cpp03/ssl),直接运行:
bjam
若仍提示找不到OpenSSL头文件,先设置环境变量指定路径:
export OPENSSL_INCLUDE=/usr/include/openssl export OPENSSL_LIB=/usr/lib64 bjam
内容的提问来源于stack exchange,提问作者Caleb Taylor
相关产品推荐
相关产品推荐

