2011-04-29 141 views
2

编辑:已解决!在C++ Builder 2010中包含boost/asio.hpp时出现编译错误

我将BOOST_ALL_NO_LIB添加到我的条件定义中,并将/codes/system/src/文件夹中的errorcode.cpp添加到我的项目中。


我最近设置了C++ Builder,并且一直在使用它来解决C++的问题。

我需要使用boost-asio来处理一个我将要处理的项目,但是当试图包含并编译它时遇到了一些问题。我已经建立了项目包含路径和所有它应该是的(我可以通过删除它进行测试,编译器抱怨它找不到asio.hpp,这不是问题)。

我尝试过Boost,1_39和1_46的两个版本,根据使用的版本,我得到了不同的错误。

忽略首发者的警告,我想。另外,如果你想从错误中获得完整的解析器上下文,请让我知道,我可以发布它们。

1_39:

[BCC32警告] error_code.hpp(486): W8104局部静态与构造 危险的多线程应用程序

[BCC32警告] error.hpp(349) :W8104 局部静态与构造 危险的多线程应用程序

[BCC32错误] auto_link.hpp(262): E2075不正确的编译指令 选项:-v

[BCC32错误] static_log2.hpp(51): E2451未定义的符号 'N'

[BCC32错误] static_log2.hpp(55): E2451未定义符号 '值'

[BCC32错误] static_log2.hpp(55): E2230在线数据成员 初始化需要一个积分 常量表达式

[BCC32致命错误] static_log2.hpp(49):F100在0x55a4e8d 4内部 编译器错误用碱 0x5500000

1_46:

[BCC32警告] xutility(1808):W8017 的 'NOMINMAX' 重新定义是不 相同

[ BCC32警告] stdint.h(168):W8017 'WCHAR_MAX'的重新定义不是 相同

[BCC32警告] win_tss_ptr。IPP(41): W8012比较符号和无符号的值

[BCC32警告] socket_select_interrupter.ipp(138): W8012比较符号和无符号的值

[BCC32错误] strand_service.hpp(31 ): E2247 'strand_service :: do_complete(win_iocp_io_service *,win_iocp_operation *,系统:: ERROR_CODE,无符号整型)' 不可访问

[BCC32警告] strand_service。 IPP(95):W8058不能 创建预编译的头:在头 初始化数据

的源代码其实并不重要,但无论(去除ASIO包括,我没有问题,很明显):

//--------------------------------------------------------------------------- 
#include <boost/asio.hpp> 
#include <iostream> 
//--------------------------------------------------------------------------- 

int main() 
{ 
    std::cout << "Test"; 
    std::cin.ignore(); 
    return 0; 
} 
//--------------------------------------------------------------------------- 

编辑:已解决!

我将BOOST_ALL_NO_LIB添加到我的条件定义中,并将/codes/system/src/文件夹中的errorcode.cpp添加到我的项目中。

回答

2

解决按编辑:

我加BOOST_ALL_NO_LIB我的条件定义和/库/系统/ src目录/文件夹到我的项目加入errorcode.cpp。