dlib库中有一个主函数

在使用opencv 和dlib c++版本时候发现dlib库中的opencv.h中有一个main函数,导致我自己写的的主函数会报错

img


有遇到这个问题的朋友吗

你是说 /tools/imglab/src下的main吗?无论哪个文件夹下的main 你可以将main改一个名称如改成maintest,然后路径下对应的cmakelists内的main也要同步更改,不然影响编译。同步改过来即可。
至于你说的dblib c++下opencv.h中,并没有main函数,至少19.24版本中没有:

img

还请参考,还望采纳:
这个问题是由于dlib库中的opencv.h头文件中定义了一个名为main的函数,而您的代码中也有一个主函数,因此在编译时会出现错误。

解决办法:

1、改变主函数名称:将您自己代码中的主函数名称改为其他名称,以避免与dlib库中的冲突。

2、删除dlib库中的opencv.h头文件:如果您不需要dlib库中的opencv.h头文件,您可以将其删除,以避免错误的产生。

3、使用extern “C”:在您自己的代码中的主函数前加上extern “C”关键字,以避免名称冲突。

extern "C" int main(int argc, char** argv) {
  // your code here
  return 0;
}