Их проблема связана с компоновщиком для C++ в Visual Studio 2013 в Windows 8. Я хочу использовать openCV 3.0 с моими Visual Studios. Все ссылки внутри кода будут использоваться в обычном режиме, а IntelliSense распознает данные. Но если я хочу, чтобы скомпилировать программку Визуальных Studios дают мне следующие ошибки:Visual Studios 2013 - ошибка C++ Linker с openCV 3.0 Libs
Fehler 1 ошибку LNK2019: Verweis ауфы NICHT aufgelöstes externes Символ «» частное: символ * __thiscall резюме :: строка :: выделить (беззнаковое целое) "(? allocate @ String @ cv @@ AAEPADI @ Z)" in Funktion "" public: __thiscall cv :: String :: String (char const *) "(?? 0String @ cv @@ QAE @ PBD @ Z)" , C: \ Users \ Marc \ Documents \ Workspaces \ C++ _ VS \ OpenCV_Test \ OpenCV_Test \ main.obj OpenCV_Test Ошибка Fehler 2 LNK2019: Verweis auf nicht aufgelöstes externes Символ "" private: void __thiscall cv :: String :: deallocate (void) "(? deallocate @ String @ cv @@ AAEXXZ)" in Funktion "" public: __thiscall cv :: String :: ~ String (void) "(?? 1String @ cv @@ QAE @ XZ)". C: \ Users \ Marc \ Documents \ Workspaces \ C++ _ VS \ OpenCV_Test \ OpenCV_Test \ main.obj OpenCV_Test Ошибка Fehler 3 LNK2019: Verweis auf nicht aufgelöstes externes Symbol "" public: __thiscall cv :: CommandLineParser :: CommandLineParser (int , char const * const * const, class cv :: String const &) "(?? 0CommandLineParser @ cv @@ QAE @ HQBQBDABVString @ 1 @@ Z)" в функции "_main". C: \ Users \ Marc \ Documents \ Workspaces \ C++ _ VS \ OpenCV_Test \ OpenCV_Test \ main.obj OpenCV_Test Ошибка Fehler 4 LNK2019: Verweis auf nicht aufgelöstes externes Symbol "" public: __thiscall cv :: CommandLineParser :: ~ CommandLineParser (void) "(?? 1CommandLineParser @ cv @@ QAE @ XZ)" в Funktion "_main". C: \ Users \ Marc \ Documents \ Workspaces \ C++ _ VS \ OpenCV_Test \ OpenCV_Test \ main.obj OpenCV_Test Ошибка Fehler 5 LNK2019: Verweis auf nicht aufgelöstes externes Символ «" protected: void __thiscall cv :: CommandLineParser :: getByName (class cv :: String const &, bool, int, void *) const "(? getByName @ CommandLineParser @ cv @@ IBEXABVString @ 2 @ _NHPAX @ Z)" in Funktion "" public: class cv :: String __thiscall cv :: CommandLineParser :: get (класс cv :: String const &, bool) const "(?? $ get @ VString @ cv @@@ CommandLineParser @ cv @@ QBE? AVString @ 1 @ ABV21 @ _N @ Z)". C: \ Users \ Marc \ Documents \ Workspaces \ C++ _ VS \ OpenCV_Test \ OpenCV_Test \ main.obj OpenCV_Test Ошибка Fehler 6 LNK1120: 5 nicht aufgelöste Externe C: \ Users \ Marc \ Documents \ Workspaces \ C++ _ VS \ OpenCV_Test \ Debug \ OpenCV_Test.exe 1 1 OpenCV_Test
Я установил OpenCV со следующим руководством: http://www.minlabz.com/how-to-install-opencv-3-0-0-on-windows-7-and-configure-with-visual-studio-2014/
Вот маленький код, который я использовал, чтобы проверить, если зависимости OpenCV работы:
#include "opencv2\highgui\highgui.hpp"
#include "opencv2\core\core.hpp"
#include <stdio.h>
using namespace cv;
int main(int argc, const char** argv)
{
const char* keyMap;
//Standard image that will be used if dont exist arguments
keyMap = "{path | | }";
//Reading the Callingarguments
CommandLineParser parser(argc, argv, keyMap);
String filename = parser.get<String>("path");
}
Надеюсь, я не забыл про что-то простое.
Есть ли более 2 библиотек в 'C: \ opencv \ build \ x64 \ vc12 \ lib'? – drescherjm
Я мог бы использовать папку _staticlib_ в openCV и добавить туда все библиотеки в _Additional Dependencies_. Я еще не тестировал его. Но в чем разница между обычной ** lib ** и ** staticlib ** папкой из opencv? – Steno
Я думаю, что в этом случае проблема связывания будет по существу одинаковой для статического opencv или dll. Поскольку с dll вам все равно нужно ссылаться на библиотеки импорта. – drescherjm