gpt4 book ai didi

c++ - 使用子模块应用程序编译 Modular Boost 1.55.0

转载 作者:太空宇宙 更新时间:2023-11-04 11:31:44 26 4
gpt4 key购买 nike

我已经将 modulare boost git 存储库(喜欢这里描述的:description,但不仅仅是 header )克隆到我的 Windows 机器上(Windows 7 64 位,使用 MinGW g++ 4.4.1,但也尝试了版本 4.8.1) .我使用了以下命令:

git config --global core.autocrlf true
git clone --recursive git@github.com:boostorg/boost.git modular-boost > clone.log
cd modular-boost

在构建它之前,我添加了子模块 boost.application进入库/应用程序:

git submodule add https://github.com/retf/Boost.Application.git libs/application

插入子模块后,构建它:

.\bootstrap gcc
.\b2 --layout=tagged link=shared variant=debug threading=multi toolset=gcc
  1. 有些库没有编译(比如 boost log)。我在这里错过了什么吗?
  2. 我尝试使用现有的编译库(主要是我使用的是系统、线程、Prg_Exec_Monitor、单元测试和程序选项),但我总是在 boost/asio/detail/impl 中遇到错误/socket_ops.ipp:

    error: 'SO_UPDATE_CONNECT_CONTEXT' was not declared in this scope

    这是一个示例代码,其中发生了此错误:

    #include <iostream>
    #include <boost/application.hpp>

    using namespace std;

    int main()
    {
    cout << "SO_Question_Test" << endl;
    return 0;
    }

    _WIN32_WINNT 设置为 0x0601 (Windows 7)。

最佳答案

我添加了对 MinGW 的部分支持。请重新下载最新版本(0.4.9)并检查:

在 MinGW 步骤上构建 Boost.Application:

1) 下载MinGW

2) 安装它,并将“C:/MinGW/bin”添加到您的 PATH。

3) 安装gcc -> 打开控制台窗口并输入:

mingw-get install gcc

4) 为 MinGW 构建 Boost

从您的 boost_X_XX_X 目录,转到

.\tools\build\v2

在我的例子中:C:\boost_1_54_0\tools\build\v2

然后输入:

bootstrap.bat mingw

cd C:\boost_1_54_0\tools\build\v2

bootstrap.bat mingw

返回到您的 boost_X_XX_X 目录并输入:

bjam toolset=gcc

5) 安装 Boost.TypeIndex 4.0 (for boost < 1.56)

如果您使用的是 boost < 1.56,则需要安装 Boost.TypeIndex 4.0

5.1) 下载

5.2) 将c:\type_index\include\boost\的内容复制到C:\boost_1_54_0\boost\

6) 安装 Boost.Application 0.4.9

6.1) 下载

6.2) 将c:\application\include\boost\的内容复制到C:\boost_1_54_0\boost\

7) 安装、编译和运行“测试”**

7.1) 在 C:\boost_1_54_0\libs\中创建一个名为“application”的新文件夹

7.2) 将文件夹:c:\application\test复制到C:\boost_1_54_0\libs\appliacation

c:\应用*

7.3) 编译运行:

cd C:\boost_1_54_0\libs\application\test

bjam toolset=gcc define=BOOST_APPLICATION_FEATURE_NS_SELECT_BOOST

默认使用 BOOST_APPLICATION_FEATURE_NS_SELECT_BOOST 强制使用 boost(boost::shared_ptr、boost::unordered_map 等)

8) 安装、编译和运行“示例”

8.1) 在 C:\boost_1_54_0\libs\中创建一个名为“application”的新文件夹

8.2) 将文件夹:c:\application\example复制到C:\boost_1_54_0\libs\application

8.3)编译运行:

cd C:\boost_1_54_0\libs\application\example

bjam toolset=gcc

示例直接在代码上定义了“BOOST_APPLICATION_FEATURE_NS_SELECT_BOOST”

[*] c:\application = 你从github上下载的

[**] “bjam”需要在系统中可用

文章:https://github.com/retf/Boost.Application/wiki/Boost.Application-on-MinGW

如果有效请告诉我!

关于c++ - 使用子模块应用程序编译 Modular Boost 1.55.0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24504599/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com