undefined reference to `cv::VideoWriter::VideoWriter()'
时间: 2024-01-11 10:02:13 浏览: 49
这个错误可能是因为你没有正确链接OpenCV的库文件。请确保在编译和链接时正确添加了OpenCV的库文件。
如果你使用的是CMake构建你的项目,你需要在CMakeLists.txt文件中添加以下内容:
```cmake
find_package(OpenCV REQUIRED)
target_link_libraries(your_project_name ${OpenCV_LIBS})
```
如果你是手动编译,可以在编译命令中添加以下参数:
```bash
g++ your_source_code.cpp -o your_executable $(pkg-config --libs opencv)
```
确保你已经正确安装了OpenCV,并且在编译和链接时引用了正确的库文件路径。如果问题仍然存在,请检查你的OpenCV安装是否正确,并尝试重新编译和链接。
相关问题
undefined reference to cv::Mat::Mat()
"undefined reference to cv::Mat::Mat()"是一个错误信息,它表示编译器无法找到cv::Mat::Mat()的定义。这通常是由于缺少链接库或链接库未正确安装所致。在这种情况下,您需要检查您的代码是否正确地包含了OpenCV库,并且您的系统是否正确地安装了OpenCV库。
如果您已经正确地包含了OpenCV库并且您的系统已经正确地安装了OpenCV库,但仍然遇到此错误,请确保您的代码中没有任何语法错误,并且您的代码中使用的OpenCV版本与您的系统上安装的OpenCV版本相匹配。
如果您仍然无法解决此问题,请尝试在编译时手动链接OpenCV库。您可以在编译命令中添加"-lopencv_core"、"-lopencv_highgui"等选项来链接OpenCV库。
undefined reference to cv::imwrite
"undefined reference to cv::imwrite"错误通常意味着编译器无法找到OpenCV库的链接。要解决这个问题,您需要确保已正确链接OpenCV库。
如果您使用的是CMake进行编译,您需要在CMakeLists.txt文件中添加以下行:
```
find_package(OpenCV REQUIRED)
target_link_libraries(your_project_name ${OpenCV_LIBS})
```
这将使用CMake查找OpenCV库,并将其链接到您的项目中。请确保将“your_project_name”替换为您的项目名称。
如果您手动编写Makefile进行编译,则需要将OpenCV库链接到您的项目中。在编译命令中添加以下行:
```
g++ -o your_executable your_source_files -lopencv_core -lopencv_highgui -lopencv_imgcodecs
```
这将链接OpenCV库到您的可执行文件中。请确保将“your_executable”替换为您的可执行文件名称,将“your_source_files”替换为您的源代码文件名称。