我已经将modulare boost git存储库(在此处描述:description,但不仅仅是标题)克隆到我的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添加到libs / 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
我尝试使用现有的编译库(主要是我使用的是System,Thread,Prg_Exec_Monitor,Unit Tests和Program Options),但我总是在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)。
答案 0 :(得分:1)
我为MinGW添加了部分支持。请再次下载最新版本(0.4.9)并检查:
在MinGW步骤上构建Boost.Application:
1)下载MinGW
2)安装它,并添加&#39; C:/ MinGW / bin&#39;到你的路径。
3)安装gcc - &GT;打开控制台窗口并输入:
mingw-get install gcc
4)为MinGW构建Boost
从您的boost_X_XX_X目录转到
\工具\建立\ 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(对于boost&lt; 1.56)
如果您正在使用boost&lt; 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)安装,编译和运行&#34;测试&#34; **
7.1)创建一个名为&#34; application&#34;的新文件夹。在C:\ boost_1_54_0 \ libs \
中7.2)复制文件夹:c:\ application \ test to 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)安装,编译和运行&#34;示例&#34;
8.1)创建一个名为&#34; application&#34;的新文件夹。在C:\ boost_1_54_0 \ libs \
中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&#39;直接代码
[*] c:\ application =从github下载
[**]&#34; bjam&#34;需要在系统中可用
文章:https://github.com/retf/Boost.Application/wiki/Boost.Application-on-MinGW
Letme知道是否有效!