c++ - 使用 zlib 构建 boost::iostreams
问题描述
我正在尝试构建以下代码:
#include <boost/iostreams/filter/zlib.hpp>
#include <iostream>
int main(int argc, char* argv[])
{
int a = boost::iostreams::zlib::default_compression;
std::cout << a;
return 0;
}
使用命令:
g++ -Wall -ID:\boost_1_72_0 -c -o Source.o Source.cpp
g++ -Wall -ID:\boost_1_72_0 Source.o -LD:\boost_1_72_0\stage\lib -lboost_iostreams-mgw63-mt-x32-1_72 -o Source.exe
但得到错误:
Source.o:Source.cpp:(.text+0x17): undefined reference to `boost::iostreams::zlib::default_compression'
collect2.exe: error: ld returned 1 exit status
所以似乎 iostreams 没有正确构建。如何检查 boost_iostreams-mgw63-mt-x32-1_72 是否构建良好?或者我的问题是什么?我使用以下命令构建 iostream:
D:\boost_1_72_0>b2 -a -q -j8 address-model=32 link=static threading=multi toolset=gcc runtime-link=shared variant=release --with-iostreams -sBZIP2_SOURCE="C:\Program Files (x86)\GnuWin32" -sZLIB_SOURCE="C:\Program Files (x86)\GnuWin32"
解决方案
好的,我解决了这个问题。相反 _SOURCE 我手动指定 了 _INCLUDE 和 _LIBPATH目录。b2 -a -q -j8 address-model=32 link=static threading=multi toolset=gcc runtime-link=shared variant=release --with-iostreams -sZLIB_INCLUDE="C:\Program Files (x86)\GnuWin32\include" -sZLIB_LIBPATH="C:\Program Files (x86)\GnuWin32\lib" -sBZIP2_INCLUDE="C:\Program Files (x86)\GnuWin32\include" -sBZIP2_LIBPATH="C:\Program Files (x86)\GnuWin32\lib"
推荐阅读
- html - 如何将 HTML DIV 自动调整到网页底部?
- sql - 从表中选择名称
- javascript - 在 vue.js 中创建一个 tcp 客户端
- flutter - 永远不会使用 StreamTransformer 调用 Flutter 密码验证器
- css - 如何使用 css 动画反弹和不透明度变化
- html - 如何在 Angular 中进行分页?
- java - “java.io.FileNotFoundException:在读取镶木地板文件页脚时,访问被拒绝错误
- yii2 - Yii2 菜单小部件 - 如何为 yii2 菜单小部件设置数据子菜单标题
- python - Python3.7 和计划任务的 Unicode 问题
- c# - 如何在 WPF 中初始化 WebView2?