我这里的情况很奇怪:
我是Mac Os X Qt中的工作代码库。我试图在ubuntu上用相同的库(opencv + dlib)编译相同的代码,它给出了很多错误?
让我整日疯狂:(有什么解决方法吗?
/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;
答案 0 :(得分:1)
很可能您对int64
的定义与此类型的另一个定义冲突。
有时在ubuntu中,即使C ++标准允许,编译器也不允许您两次键入相同的内容。
包括重新排序应该可以解决问题。
答案 1 :(得分:0)
我先删除了:
使用cpp文件中的命名空间dlib,该文件名已被标头,但错误并未消失。
但是为什么它可以在mac(clang)上运行而不能在ubuntu(g ++)上运行呢?整日开车带我疯狂寻找解决方案。