错误:对"int64"的引用不明确QT中的编译问题opencv+dlib



我这里有一个奇怪的情况:

我是Mac Os X Qt中的一个工作代码库。我试图用相同的库(opencv+dlib(在ubuntu上编译相同的代码,它会产生大量错误吗?

让我一整天都疯了:(有什么解决方案吗?

/usr/local/include/opencv2/dnn/dnn.hpp:314:17: error: reference to ‘int64’ is ambiguous
         virtual int64 getFLOPS(const std::vector<MatShape> &inputs,
                 ^~~~~
In file included from /usr/local/include/opencv2/core/cvdef.h:91:0,
                 from /usr/local/include/opencv2/core.hpp:52,
                 from /usr/local/include/opencv2/highgui.hpp:46,
                 from ../SFT-V2/worker.h:18,
                 from ../SFT-V2/widget.h:5,
                 from ../SFT-V2/main.cpp:1:
/usr/local/include/opencv2/core/hal/interface.h:61:20: note: candidates are: typedef int64_t int64
    typedef int64_t int64;
    typedef int64_t int64;

您对int64的定义很可能与此类型的另一个定义冲突。

有时在ubuntu中,即使C++标准允许,编译器也不允许对相同的东西进行两次typedef。

重新订购包含应该可以解决问题。

我首先删除了:

使用cpp文件中的名称空间dlib(该文件已在其标头中(,错误就消失了。

但是为什么它在mac(clang(上工作而不在ubuntu(g++(上工作呢?整天开车送我去找解决方案。

相关内容

  • 没有找到相关文章

最新更新