Я пытаюсь прочитать .mat-файл в C ++ с MSVS 2008, но при создании простой программы я получаю следующую ошибку:
1> ex3.obj: ошибка LNK2019: неразрешенный внешний символ _matClose, на который ссылается функция _main
1> ex3.obj: ошибка LNK2019: неразрешенный внешний символ _matOpen, указанный в функции _main
Я также исследовал Google, и кажется, что компилятор не может ссылаться на библиотеки, необходимые для использования этих функций (matOpen и matClose). Я никогда раньше не использовал внешнюю библиотеку, но я попробовал все, что нашел в Google, чтобы добавить библиотеки Matlab. Я сделал следующее:
ИНСТРУМЕНТЫ -> Параметры -> Проекты и решения -> Каталоги VC ++ -> Показать каталоги для: включаемых файлов -> затем я добавил путь к каталогу включения Matlab -> C: \ Program Files \ MATLAB \ ехЬегп \ включают
Я сделал то же самое с файлами библиотеки: C: \ Program Files \ MATLAB \ extern \ lib \ win64 \ microsoft
Я также сделал это для проекта:
Щелкните правой кнопкой мыши по проекту -> Свойства -> Свойства конфигурации -> C / C ++ -> Общие -> Дополнительные каталоги включения -> и добавьте «C: \ Program Files \ MATLAB \ extern \ include \ win64»
Затем я сделал то же самое в Linker -> General -> Additional Library Directory -> и добавил «C: \ Program Files \ MATLAB \ extern \ lib \ win64 \ microsoft»
Так что я действительно не знаю, в чем проблема. Вот исходный код, который я пытаюсь собрать:
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <mat.h>
int main(int argc, char *argv[])
{
const char *file = "mozart_part1.mat";
MATFile *pmat;
pmat = matOpen(file, "r");
if(pmat == NULL)
{
std::cout << "Error: could not open MAT-file!";
return(1);
}
matClose(pmat);
}
Можете ли вы увидеть или угадать любые ошибки, которые я сделал