【发布时间】:2011-04-29 10:16:28
【问题描述】:
编辑:已解决!
我将 BOOST_ALL_NO_LIB 添加到我的条件定义中,并将 /libs/system/src/ 文件夹中的 errorcode.cpp 添加到我的项目中。
我最近设置了 C++ Builder,并一直在使用它来了解 C++。
我需要将 boost-asio 用于我将要处理的项目,但在尝试包含和编译它时遇到了一些问题。我已经设置了项目包含路径和所有应有的路径(我可以通过删除它进行测试,编译器抱怨它找不到 asio.hpp,这不是问题)。
我尝试了 2 个版本的 Boost,1_39 和 1_46,根据使用的版本,我得到不同的错误。
我猜,请忽略对初学者的警告。另外,如果您想从错误中获取完整的解析器上下文,请告诉我,我可以发布它们。
1_39:
[BCC32 警告] error_code.hpp(486): W8104 带有构造函数的局部静态 对多线程应用程序很危险
[BCC32 警告] error.hpp(349): W8104 带有构造函数的局部静态 对多线程应用程序很危险
[BCC32 错误] auto_link.hpp(262): E2075 不正确的 pragma 指令 选项:-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):F1004 内部 编译器错误在 0x55a4e8d 与 base 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 *,system::error_code,unsigned int)' 不可访问
[BCC32 警告] strand_service.ipp(95):W8058 不能 创建预编译头文件: header 中的初始化数据
源代码并不重要,但无论如何(删除asio包含,我没有问题,显然):
//---------------------------------------------------------------------------
#include <boost/asio.hpp>
#include <iostream>
//---------------------------------------------------------------------------
int main ()
{
std::cout << "Test";
std::cin.ignore();
return 0;
}
//---------------------------------------------------------------------------
编辑:已解决!
我将 BOOST_ALL_NO_LIB 添加到我的条件定义中,并将 /libs/system/src/ 文件夹中的 errorcode.cpp 添加到我的项目中。
【问题讨论】:
标签: c++ boost boost-asio c++builder