由于国内外网上关于C语言读取mat数据的信息十分繁杂并且不准确,在此写下相关经验以便我等初学者不会因此走弯路。
Ubuntu系统,IDE为Clion,其基于Cmake编译。另外,gcc方面的CSDN上已经有详细教程了。首先是Cmakelists内容如下:
cmake_minimum_required(VERSION 3.5)
project(Project_name C)
set(CMAKE_C_STANDARD 99)
#for Matlab
INCLUDE_DIRECTORIES("Matlab_Path/extern/include")
LINK_DIRECTORIES("Matlab_Path/bin/glnxa64")
LINK_LIBRARIES("Matlab_Path/bin/glnxa64/libeng.so"
"Matlab_Path/bin/glnxa64/libmx.so"
"Matlab_Path/bin/glnxa64/libmat.so")
add_executable(Project_name main.c)
Main.c内容如下:
#include <stddef.h>
#include <stdio.h>
#include <mat.h>
int main(int argc, char **argv)
{
MATFile *MatFile;
MatFile = matOpen("FileName.mat", "u")