是我还是部分Boost轨道SVN (Boost几何扩展溶解)是不可编译的

Is it me or part of Boost Track SVN (Boost Geometry Extension Dissolve) is uncompilable?

本文关键字:Boost 编译 扩展 轨道 何扩展 SVN      更新时间:2023-10-16

Boost geometry的溶解在这里描述了一点,是我现在需要的,它的SVN家在这里,但只要我包括#include <boost/geometry/extensions/algorithms/dissolve.hpp>,我就会得到编译错误(错误C4430, C2146和C2061)=(任何人都可以提供补丁吗?

示例代码可以在这里找到例如

错误:

Error   2   error C4430: missing type specifier - int assumed. Note: C++ does not support default-int   c:usersavestadesktopcftrunkcloudserver3rdpartyheader-onlyboostgeometryextensionsalgorithmsdissolve.hpp 67  1   CloudServer
Error   3   error C4430: missing type specifier - int assumed. Note: C++ does not support default-int   c:usersavestadesktopcftrunkcloudserver3rdpartyheader-onlyboostgeometryextensionsalgorithmsdissolve.hpp 67  1   CloudServer
Error   1   error C2146: syntax error : missing ';' before identifier 'state_type'  c:usersavestadesktopcftrunkcloudserver3rdpartyheader-onlyboostgeometryextensionsalgorithmsdissolve.hpp 67  1   CloudServer
Error   4   error C2061: syntax error : identifier 'state_type' c:usersavestadesktopcftrunkcloudserver3rdpartyheader-onlyboostgeometryextensionsalgorithmsdissolve.hpp 76  1   CloudServer

最小的代码看起来像(在VS2010上测试失败的谨慎错误):

#include <boost/geometry/extensions/algorithms/dissolve.hpp>
int main()
{
    return 0;
}

我在这里可以很好地编译(使用clang和gcc):

$ clang++ -I /Volumes/EyeFive/Marshall/Sources/boost/trunk junk.cpp
$ clang++ --version
Apple clang version 3.0 (tags/Apple/clang-211.10.1) (based on LLVM 3.0svn)
Target: x86_64-apple-darwin11.2.0
Thread model: posix
$ g++ -I /Volumes/EyeFive/Marshall/Sources/boost/trunk junk.cpp
$ g++ --version
i686-apple-darwin11-llvm-g++-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.1.00)
Copyright (C) 2007 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

使用boost trunk。您使用的是哪种编译器(以及该编译器的哪个版本)?

所以,我猜答案是:是你;-)

boost主干分支是开发分支,并不总是编译。事实上,它的状态每小时都在变化。如果需要稳定且可编译的代码,请使用标记分支之一,例如:http://svn.boost.org/svn/boost/tags/release/Boost_1_47_0.