我想包含名为URDL的C++库。我正在使用Boost 1.56在带有Clang编译器的Xcode上开发程序。

作为一个示例项目,我在这里使用了此代码,并将Boost Libaries-和Include-Paths包括在Xcode Project的设置中。

#include <iostream>

#define URDL_HEADER_ONLY 1
#include <boost/array.hpp>
#include <urdl/http.hpp>
#include <urdl/istream.hpp>

int main(int argc, const char * argv[])
{

  urdl::istream is;

  return 0;
}

然后我编译得到以下错误:

在URDL的http.ipp中
/Users/maximilian/XcodeProjects/Libaries/urdl-0.1/include/urdl/impl/http.ipp:25:23:     Exception specification of overriding function is more lax than base version

和URDL中的handler_invole_helpers.hpp中
/usr/local/Cellar/boost/1.56.0/include/boost/asio/detail/handler_invoke_helpers.hpp:37:3: Call to 'asio_handler_invoke' is ambiguous

我的建议是URDL与该版本的Boost(1.56)不兼容。

提前致谢

lux_

PS:我必须使用URDL或至少使用boost::asio(这是URDL所基于的,但是URDL使我的工作更加简单),因为它是大学类(class)的一项家庭作业。

最佳答案

问题解决了 ! :)从Github下载URDL版本,而不是像我以前那样从网站think-async.com下载。

关于c++ - Xcode 6.1/LLVM 6.0的C++ URDL编译错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27671027/

10-09 13:11