Building CXX object CMakeFiles/yolov5.dir/calibrator.cpp.o In file included from /home/leo1/Prometheus/Modules/object_detection/py_nodes/yolov5_tensorrt_server/calibrator.cpp:4:0: /home/leo1/opencv/modules/dnn/include/opencv2/dnn/dnn.hpp:189:9: error: ‘CV_DEPRECATED_EXTERNAL’ does not name a type; did you mean ‘TRT_DEPRECATED_ENUM’?
时间: 2023-07-04 13:30:16 浏览: 54
这个错误是由于OpenCV版本的问题导致的。`CV_DEPRECATED_EXTERNAL`是OpenCV 4.3版本中的宏定义,而在更早的版本中是没有定义的,所以编译器无法找到该定义导致错误。
你可以尝试升级OpenCV版本到4.3或更高版本,或者将使用了`CV_DEPRECATED_EXTERNAL`的代码删除或注释掉。如果你想继续使用旧版本的OpenCV,可以在代码中手动定义`CV_DEPRECATED_EXTERNAL`宏,例如:
```
#define CV_DEPRECATED_EXTERNAL __attribute__((deprecated))
```
这样就能够解决这个问题了。
相关问题
opencv make过程中Building CXX object modules/python3/CMakeFiles/opencv_python3.dir/__/src2.cpp.o卡住了
这种情况通常是由于编译器或者链接器出现了问题导致的。你可以尝试以下方法解决这个问题:
1. 清空缓存并重新编译:
```
make clean
make
```
2. 尝试重新安装 Opencv:
```
sudo apt-get remove opencv
sudo apt-get install opencv
```
3. 检查你的编译器是否正常:
```
g++ --version
```
4. 检查你的链接器是否正常:
```
ld --version
```
如果以上方法都无法解决问题,你可以尝试在编译时添加 `-v` 参数,查看编译过程中的详细信息,以便更精确定位问题所在。
Linking CXX static library ../../../../3rdparty/lib/liblibprotobuf.a
根据提供的引用内容,错误信息显示在链接CXX静态库`../../../../3rdparty/lib/liblibprotobuf.a`时出现了问题。具体错误信息为`CMake Error: cmake_symlink_library: System Error: Operation not supported`。根据引用中的信息,这个错误是由于系统不支持`cmake_symlink_library`操作引起的。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [Opencv Linking CXX shared library ../../lib/libopencv_core.so](https://blog.csdn.net/qq_36351159/article/details/108226698)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]