小编Seo*_*ong的帖子

如何在Archlinux中使用gcc 7.2编译gcc 6.4.0

我正在尝试使用Archlinux中的gcc 7.2独立编译gcc 6.4.0.

配置如下:

../configure --prefix=${INSTALL_PREFIX} --enable-languages=c,c++,fortran \
    --enable-threads=posix --enable-tls --enable-libgomp --enable-lto \
    --enable-shared --enable-static --disable-nls --disable-multilib \
    --with-fpmath=sse
Run Code Online (Sandbox Code Playgroud)

在编译时,我收到以下错误md-unwind-support.h:

md-unwind-support.h:65:47: error: dereferencing pointer to incomplete type 'struct ucontext'
Run Code Online (Sandbox Code Playgroud)

我比较md-unwind-support.h了gcc 6.4.0和gcc 7.2.0中struct ucontext的定义,发现它定义为ucontext_tgcc 7.2.0.

所以,我md-unwind-support.h对gcc 6.4.0源代码树进行了一些更改,但得到了一些命名空间问题,如下所示:

int std::uncaught_exceptions() should have been declared inside 'std'
Run Code Online (Sandbox Code Playgroud)

我卡住了,不知道这个问题.

任何帮助和建议都会有所帮助.

gcc archlinux

6
推荐指数
3
解决办法
2898
查看次数

是否有可能让构造函数具有不同的名称作为类声明?

我在阅读源代码时遇到了一个简单的问题.AFAIK,构造函数的名称应与声明的类相同.但是,以下代码具有不同的名称作为构造函数.任何人都可以告诉我为什么这段代码有效?

class directFieldMapper
:
    public FieldMapper
{
    const labelUList& directAddressing_;

    bool hasUnmapped_;

public:

    // Constructors

        //- Construct given addressing
        patchFieldSubset(const labelUList& directAddressing)
        :
            directAddressing_(directAddressing),
            hasUnmapped_(false)
        {
            if (directAddressing_.size() && min(directAddressing_) < 0)
            {
                hasUnmapped_ = true;
            }
        }

    //- Destructor
    virtual ~directFieldMapper()
    {}
}
Run Code Online (Sandbox Code Playgroud)

好的,我发现这个类不在Makefile的源代码列表中.所以,这个类永远不会被编译.

c++

0
推荐指数
1
解决办法
82
查看次数

标签 统计

archlinux ×1

c++ ×1

gcc ×1