OpenCV Include не предоставляет ссылки на функции cvC++

Программы на C++. Форум разработчиков
Anonymous
OpenCV Include не предоставляет ссылки на функции cv

Сообщение Anonymous »

Я только начал изучать C++ и пытался использовать OpenCV для графического интерфейса.
Я установил Cmake, Ninja и OpenCV в свой каталог C:/. Теперь я планировал собрать проект, но получил сообщение об ошибке на этапе компиляции.
Вот журнал:

Код: Выделить всё

    [main] Building folder: opencvtest
[main] Configuring project: opencvtest
[proc] Executing command: "C:\Program Files\CMake\bin\cmake.EXE" --no-warn-unused-cli -         DCMAKE_BUILD_TYPE:STRING=Debug -DCMAKE_EXPORT_COMPILE_COMMANDS:BOOL=TRUE -SC:/opencvtest -Bc:/     opencvtest/build -G Ninja
[cmake] Not searching for unused variables given on the command line.
[cmake] -- Configuring done (0.2s)
[cmake] -- Generating done (0.1s)
[cmake] -- Build files have been written to: C:/opencvtest/build
[build] Starting build
[proc] Executing command: chcp
[proc] Executing command: "C:\Program Files\CMake\bin\cmake.EXE" --build c:/opencvtest/build --    config Debug --target all --
[build] [1/1 100% :: 0.205] Linking CXX executable opencvtest.exe
[build] FAILED: opencvtest.exe
[build] C:\Windows\system32\cmd.exe /C "cd . && C:\msys64\ucrt64\bin\c++.exe -g  CMakeFiles/    opencvtest.dir/main.cpp.obj -o opencvtest.exe -Wl,--out-implib,libopencvtest.dll.a -Wl,--major-image-version,0,--minor-image-version,0 -LC:/PROGRA~1/opencv/build/x64/vc16/lib -lopencv_world4100d  -lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 && cd ."
[build] C:/msys64/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/ bin/ld.exe: CMakeFiles/opencvtest.dir/main.cpp.obj: in function `main':
[build] C:/opencvtest/main.cpp:8: undefined reference to `cv::Mat::Mat()'
[build] C:/msys64/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/opencvtest/main.cpp:19: undefined reference to `cv::Mat::~Mat()'
[build] collect2.exe: error: ld returned 1 exit status
[build] ninja: build stopped: subcommand failed.
[proc] The command: "C:\Program Files\CMake\bin\cmake.EXE" --build c:/opencvtest/build --config    Debug --target all -- exited with code: 1
[driver] Build completed: 00:00:00.360
[build] Build finished with exit code 1
Мой файл списка CMake выглядит так (хотя я не думаю, что проблема унаследована оттуда):

Код: Выделить всё

cmake_minimum_required(VERSION 3.10)
project(opencvtest)

set(CMAKE_CXX_STANDARD 11)

# Specify the path to OpenCV headers
include_directories("C:/Program Files/opencv/build/include")

# Specify the path to OpenCV library directories
link_directories("C:/Program Files/opencv/build/x64/vc16/lib")

# Add the executable
add_executable(opencvtest main.cpp)

# Link against the OpenCV libraries
target_link_libraries(opencvtest opencv_world4100d)

И, наконец, main.cpp:

Код: Выделить всё

#include 
#include 

int main(int argc, char** argv )
{

cv::Mat image;
/**image = imread("C:\\opencvtest\\1.jpg");
if ( !image.data )
{
printf("No image data \n");
return -1;
}**/
//namedWindow("Display Image", WINDOW_AUTOSIZE );
//imshow("Display Image", image);
//waitKey(0);
return 0;
}
Заранее спасибо
Я уже проверил системные переменные (opencv_version выводит номер версии)
Intelisense обнаруживает, что включение legid (если папка lib удалена, она будет содержать закорючки)

Подробнее здесь: https://stackoverflow.com/questions/786 ... -functions

Вернуться в «C++»