有一天,我开始尝试使用C / C ++,因为我需要它来读取4级MAT文件,而无需购买Matlab编辑器或编译器。所以我只找到了我需要的库,但是我对C或C ++一点都不熟悉,所以我是这两种语言的初学者。无论如何,我需要包括“ matio”库。我尝试了很多事情,但没有运气。
我右键单击C/C++ project > properties > C/C++ General > Paths & Symbols > GNU C
,然后将路径添加到matio库。
我还去了C/C++ Build > Settings > Tool settings > GCC C Compiler > Includes
,并在那里添加了路径。
由于我对makefile不好,但是我没有指定自己的makefile,所以我选择了一个可执行项目。
当我尝试构建项目时,它抱怨matio库中的一个名为“ Mat_Open”的函数。当我将鼠标悬停在它上面时,它说“未定义的对'Mat_Open'的引用”,标题'matio.h'似乎可以正常工作,但由于某种原因它不能引用'Mat_Open'。
我该如何解决?
编辑:
这是整个构建控制台的输出。
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)
最佳答案
这不一定是答案,但可能有助于进行比较。
首先,您在哪里安装它?如果您使用的是Linux或Mac OSX,则需要安装在系统目录中(不确定Windows)。我使用OSX在makefile中使用(通过use Qt的方式):
LIBS += -L/usr/local/lib/ -lmatio
INCLUDEPATH += /usr/local/include
然后,当然,在我的源代码的* .h文件中,我使用:
#include "matio.h"
但是我想你已经尝试过了吗?