Как включить файлы заголовков OpenCV в проект C ++? - PullRequest
0 голосов
/ 04 ноября 2018

Я новичок в C ++ и OpenCV, поэтому, пожалуйста, извините, если мой вопрос глуп. В основном я пытаюсь следовать этому руководству для обработки изображений на родном C ++. Но проблема в том, что я не могу включить необходимые заголовочные файлы #include <opencv2/core/core.hpp>. Кто-нибудь может помочь мне решить эту проблему?

Код:

#include <jni.h>
#include <opencv2/core/core.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include "enhance.h"
using namespace std;
using namespace cv;

JNIEXPORT void JNICALL
Java_org_fossasia_phimpme_editor_editimage_filter_PhotoProcessing_nativeApplyFilter(JNIEnv     *env, jclass type, jlong inpAddr,jlong outAddr) {
   Mat &src = *(Mat*)inpAddr;
   Mat &dst = *(Mat*)outAddr;
   applyFilter(src, dst);
 }

1 Ответ

0 голосов
/ 04 ноября 2018

Я не верю, что это проблема C или OpenCV. Проблема с линковкой

Если вы попытаетесь включить #include <opencv2/core/core.hpp> и не сможете его прочитать, то это означает, что ваш компилятор не может найти папку OpenCV2 в своем списке поиска, потому что это не часть Visual Studio, поэтому вам нужно скачать библиотеку openCV добавьте его в свой проект, а затем свяжите с вашим проектом, чтобы использовать его!

Что вам нужно сделать, это перейти к свойствам проекта сначала выберите ALL configuration затем в свойствах конфигурации выберите C/C++ тогда вы увидите additional include directories иди добавьте каталог в openCV2 Т.е. если вы сделали папку в своем проекте с именем include, добавьте туда opencv2 затем в своем адресе просто используйте .\include\ и не забывайте всегда заканчивать свой путь \, чтобы избежать проблем со связыванием, тогда вы можете включить #include <opencv2/core/core.hpp> внутри вашего проекта

Если у вас есть определенные библиотеки, вы можете добавить их в Linker, а затем перейти к additional library directories, где вы можете добавить библиотеки, если они есть в виде файлов .lib

ПРИМЕЧАНИЕ: УБЕДИТЕСЬ, ЧТО ВЫ УСТАНАВЛИВАЕТЕ ПРАВИЛЬНУЮ ПЛАТФОРМУ так что не делайте эти настройки для X86, а затем ожидайте, что он будет работать для X64 да, если вы выполнили настройку для проекта X64, эти настройки не будут применяться к проекту X86, поэтому вам необходимо убедиться, что вы указали настройки для соответствующей платформы

Полное описание того, как настроить ваш проект, можно найти в их документации ЗДЕСЬ

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...