mingw32-make.exe [3]: *** Ошибка 1 [CMakeFiles \ myAnswerCpp.dir \ build.make: 102: myAnswerCpp.exe] - PullRequest
0 голосов
/ 15 октября 2019

Я использовал vscode, cmake для компиляции проекта opencv в Windows. У меня была проблема при сборке. Я очень смущен.

Ранее была ошибка, потому что OpenCV не был завершен. После полной сборки я изменил свой CMakeLists.txt, с set(OpenCV_DIR D:/OpenCV/opencv/sources/build) на set(OpenCV_DIR D:/OpenCV/opencv/build/x64/vc15/lib). Но есть некоторые новые ошибки.

Это мой CMakeLists.txt

PROJECT(myAnswerCpp)
cmake_minimum_required(VERSION 3.5)
set(OpenCV_DIR D:/OpenCV/opencv/build/x64/vc15/lib)
find_package(OpenCV REQUIRED)
include_directories(${OpenCV_INCLUDE_DIRS})
add_executable(myAnswerCpp myAnswerCpp1.cpp)
link_directories(${OpenCV_LIBRARY_DIRS})
target_link_libraries(myAnswerCpp ${OpenCV_LIBS})

И это мой тестовый код.

#include <iostream>
#include <opencv2/opencv.hpp>

using namespace std;
using namespace cv;

int main(){
    Mat src = imread("C:/Users/87689/Desktop/bit.JPG", IMREAD_COLOR );
    imshow("bit",src);
    waitKey(0);
    return 0;
}

И это выходная информация

[build] Starting build
[proc] Executing command: D:\CMake\bin\cmake.EXE --build d:/ImageProcessing/myAnswerCpp/build --config Debug --target myAnswerCpp -- -j 6
[build] [ 50%] Linking CXX executable myAnswerCpp.exe
[build] CMakeFiles\myAnswerCpp.dir/objects.a(myAnswerCpp1.cpp.obj): In function `main':
[build] D:/ImageProcessing/myAnswerCpp/myAnswerCpp1.cpp:14: undefined reference to `cv::imread(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)'
[build] D:/ImageProcessing/myAnswerCpp/myAnswerCpp1.cpp:15: undefined reference to `cv::imshow(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, cv::_InputArray const&)'
[build] D:/ImageProcessing/myAnswerCpp/myAnswerCpp1.cpp:16: undefined reference to `cv::waitKey(int)'
[build] CMakeFiles\myAnswerCpp.dir/objects.a(myAnswerCpp1.cpp.obj): In function `cv::Mat::~Mat()':
[build] D:/OpenCV/opencv/build/include/opencv2/core/mat.inl.hpp:739: undefined reference to `cv::fastFree(void*)'
[build] CMakeFiles\myAnswerCpp.dir/objects.a(myAnswerCpp1.cpp.obj): In function `cv::Mat::release()':
[build] D:/OpenCV/opencv/build/include/opencv2/core/mat.inl.hpp:851: undefined reference to `cv::Mat::deallocate()'
[build] collect2.exe: error: ld returned 1 exit status
[build] mingw32-make.exe[3]: *** [CMakeFiles\myAnswerCpp.dir\build.make:102: myAnswerCpp.exe] Error 1
[build] mingw32-make.exe[2]: *** [CMakeFiles\Makefile2:75: CMakeFiles/myAnswerCpp.dir/all] Error 2
[build] mingw32-make.exe[1]: *** [CMakeFiles\Makefile2:87: CMakeFiles/myAnswerCpp.dir/rule] Error 2
[build] mingw32-make.exe: *** [Makefile:117: myAnswerCpp] Error 2
[build] Build finished with exit code 2

Пожалуйста, помогите мне решить ошибки. Большое спасибо!

...