1

我正在尝试设置一个使用 GLI 的类,但即使使用简单的代码,我也无法让该库正常工作。

-----------------------------------------------------------------------
                                 header.hpp
-----------------------------------------------------------------------
#pragma once

#include "gli\gli.hpp"

-----------------------------------------------------------------------
                                 source.cpp
-----------------------------------------------------------------------
#include "header.hpp"

-----------------------------------------------------------------------
                                 main.cpp
-----------------------------------------------------------------------
#include "header.hpp"

int main(int argc, char* argv[])
{
    return 0;
}

我以前从未遇到过这样的问题,但是当它已经包含在另一个 .cpp 文件中时,我似乎无法在我的 main.cpp 中包含包含库本身的标头。我可以将库直接包含在我的 source.cpp 而不是 header.hpp 中,但我认为这不是一个很好的解决方案。

Visual-Studio 构建输出显示:

致命错误 lnk1169 发现一个或多个多重定义符号

4

1 回答 1

1

请参阅此错误https://github.com/g-truc/gli/issues/27。解决方案是将视图 ctor 和赋值运算符标记为内联。

于 2013-09-25T15:18:03.953 回答