我想包含名为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/