【问题标题】:Is it me or part of Boost Track SVN (Boost Geometry Extension Dissolve) is uncompilable?是我还是 Boost Track SVN(Boost Geometry Extension Dissolve)的一部分无法编译?
【发布时间】:2011-11-08 19:18:29
【问题描述】:

Boost geometry 的溶解 described a bit here,这是我现在需要的,它的 SVN 主页是 here,但只要我包含 #include <boost/geometry/extensions/algorithms/dissolve.hpp>,我就会收到编译错误(错误 C4430、C2146 和 C2061)=(可以有任何一个提供补丁?

可以找到示例代码,例如here

错误:

Error   2   error C4430: missing type specifier - int assumed. Note: C++ does not support default-int   c:\users\avesta\desktop\cf\trunk\cloudserver\3rdparty\header-only\boost\geometry\extensions\algorithms\dissolve.hpp 67  1   CloudServer

Error   3   error C4430: missing type specifier - int assumed. Note: C++ does not support default-int   c:\users\avesta\desktop\cf\trunk\cloudserver\3rdparty\header-only\boost\geometry\extensions\algorithms\dissolve.hpp 67  1   CloudServer

Error   1   error C2146: syntax error : missing ';' before identifier 'state_type'  c:\users\avesta\desktop\cf\trunk\cloudserver\3rdparty\header-only\boost\geometry\extensions\algorithms\dissolve.hpp 67  1   CloudServer

Error   4   error C2061: syntax error : identifier 'state_type' c:\users\avesta\desktop\cf\trunk\cloudserver\3rdparty\header-only\boost\geometry\extensions\algorithms\dissolve.hpp 76  1   CloudServer

最少的代码看起来像(在 VS2010 上测试失败并出现警告错误):

#include <boost/geometry/extensions/algorithms/dissolve.hpp>

int main()
{
    return 0;
}

【问题讨论】:

    标签: c++ boost compiler-errors geometry boost-geometry


    【解决方案1】:

    它在这里编译得很好(使用 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.
    

    使用增压后备箱。 您使用的是什么编译器(以及该编译器的哪个版本)?

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-10-21
        • 1970-01-01
        • 1970-01-01
        • 2018-02-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多