Я начал экспериментировать с C/C++ на днях, потому что мне это нужно для чтения MAT-файлов уровня 4 без необходимости покупать редактор или компилятор Matlab , Поэтому я нашел только те библиотеки, которые мне нужны, но я вообще не знаком с C или C++, поэтому я начинаю с этих двух языков. В любом случае мне нужно включить библиотеку «matio». Я много пробовал, но мне не повезло.Eclipse C/C++: внешняя библиотека matio «неопределенная ссылка на« Mat_Open »
Я щелкнул правой кнопкой мыши по C/C++ project > properties > C/C++ General > Paths & Symbols > GNU C
и добавил путь к библиотеке matio.
Я также поехал в C/C++ Build > Settings > Tool settings > GCC C Compiler > Includes
и добавил туда путь.
Поскольку я не очень хорошо разбираюсь в make-файлах, я не указал свой собственный make-файл, вместо этого я выбрал исполняемый проект.
Когда я пытаюсь построить свой проект, он жалуется на функцию «Mat_Open» в библиотеке matio. Когда я навис над ним, он говорит «неопределенная ссылка на« Mat_Open »« заголовок «matio.h», похоже, работает нормально, но по какой-то причине он не может ссылаться на «Mat_Open».
Как это решить?
EDIT:
Здесь весь вывод сборки консоли.
10:42:52 **** Incremental Build of configuration Debug for project Project ****
Info: Internal Builder is used for build
gcc -IC:/matio-1.5.2/src -O0 -g3 -Wall -c -fmessage-length=0 -o CComponent.o "..\\CComponent.c"
gcc -Xlinker -lm -o Project.exe CComponent.o -lC:/matio-1.5.2/src
c:/mingw(x64)/bin/../lib/gcc/x86_64-w64-mingw32/4.8.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lC:/matio-1.5.2/src
collect2.exe: error: ld returned 1 exit status
10:42:53 Build Finished (took 330ms)
Вы не * связываете * с библиотекой 'matio', это недостающий шаг: http://i.stack.imgur.com/0Iqzs.png – Amro
Спасибо, но когда я пытаюсь его построить, он говорит об этом не удается найти каталог. Имеет ли значение обратная косая черта или передняя косая черта какое-либо значение? Если я посмотрю в консоли, то «синтаксис/команда сборки», похоже, имеет «2» обратную косую черту, чтобы разделить каталоги. – Linus
@Amro после многих исследований выяснил, что мне нужно добавить путь поиска к библиотеке, а также имя библиотеки (matio), и она добавит lib в суффикс, и он автоматически добавит префикс lib и ". a "(или" .so "). Я также не правильно установил библиотеку matio, но с помощью вас и roybatty я получил его работу. Благодаря! – Linus