Visual Studio代码中的#include <mat.h>不起作用

时间:2019-10-21 13:42:33

标签: c++ windows matlab gcc visual-studio-code

我想在c ++中使用一些matlab代码。例如,我想直接在我的c ++ IDE中读取matlab文件。有一些非常酷的c ++软件包,可让您处理我面临的大多数问题。

但是我无法使用这些软件包。似乎我无法#include正确包含这些软件包。该错误看起来总是像“未定义对'matOpen'的引用”。

我在Windows上使用Visual Studio代码和mingw作为C ++编译器。

  1. 我尝试了不同的符号:

#include

#include“ mat.h”

而且,因为我使用c ++,所以 #include wich不起作用,但给出了另一个错误:“在此范围内未声明'matOpen'”

  1. 我尝试使用cmd进行编译

我还尝试在命令提示符下编译文件。我读过here可能存在链接问题,并尝试“将-lm标志添加到gcc编译器命令以便在C代码中使用数学函数” ,但没有成功。 >

我不是c ++或cmd的专家,使用正确的编译命令可能会犯一些错误。上面的help使用ubuntu和c,而不使用Windows和c ++。为了成功编译,我必须注意什么差异吗?

  1. 不同的路径

我还尝试将文件mat.h重定位到不同位置,例如项目路径或编译器路径,或在include语句中将完整路径写入mat.h。

类似的(Link mat.h in a C++ file)问题是针对ubuntu的,也没有帮助我。

我的代码非常简单:

#include <iostream>
#include <mat.h>
#include <stdio.h>

using namespace std;

int main()
{
    MATFile *pmat;
    pmat = matOpen("test.mat","r");
    return 0;
}

我收到的错误消息:

cd "c:\projects\test\" ; if ($?) { g++ test.cpp -o test } ; if ($?) { .\test }
C:\user_path\AppData\Local\Temp\ccKUxfwi.o:test.cpp:(.text+0x1c): undefined reference to `matOpen'
collect2.exe: error: ld returned 1 exit status

我将不胜感激。我想使用更多软件包,但是对于所有人来说可能都是相同的解决方案。

0 个答案:

没有答案