Visual Studio Code 中的 #include < mat.h> 不起作用
#include <mat.h> in Visual Studio Code does not work
我想在 c++ 中使用一些 matlab 代码。例如,我想直接在我的 c++ IDE 中读取 matlab 文件。有一些非常酷的 c++ 包可以让你处理我面临的大多数问题。
但我没有使用这些软件包。似乎我无法正确 #include 软件包。该错误看起来总是类似于"未定义对'matOpen'的引用"。
我在Windows上使用Visual Studio Code和mingw作为c ++编译器。
- 我尝试了不同的符号:
#include < mat.h>
#include "mat.h"
而且,因为我使用 c++,#include < cmath>
它不起作用,但给出了不同的错误:
"'matOpen'没有在这个范围内声明"。
- 我尝试用cmd编译
我还尝试在命令提示符下编译文件。我在这里读到可能存在链接问题,并试图"将 -lm 标志添加到 gcc 编译器命令以在您的 C 代码中使用数学函数">但没有成功。
我不是 c++ 或 cmd 的专家,我可能会在使用正确的编译命令时犯一些错误。上面的帮助使用 ubuntu 和 c,而不是 windows 和 c++。为了成功编译,我必须注意任何差异吗?
- 不同的路径
我还尝试将文件 mat.h 重新定位到不同的位置,例如项目的路径或编译器路径,或者在 include 语句中将 mat.h 的完整路径写入。
一个类似的(C++文件中的链接mat.h(问题是针对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:projectstest" ; if ($?) { g++ test.cpp -o test } ; if ($?) { .test }
C:user_pathAppDataLocalTempccKUxfwi.o:test.cpp:(.text+0x1c): undefined reference to `matOpen'
collect2.exe: error: ld returned 1 exit status
我将不胜感激任何帮助。我想使用更多的软件包,但它可能是所有人的相同解决方案。
#include
"未定义的引用"是一个链接时错误,它与 #include 语句无关(消息是由ld发出的,而不是gcc(。
检查是否已在项目中添加了(预编译的(库。
- Difference in displaying cv2 Mat
- 为什么Mat类的两个对象可以在不重载运算符+的情况下添加
- EASTL矢量<向量<int>>连续的
- 将CHW格式的浮点向量转换为cv::Mat
- C++中的openCV Mat访问冲突
- OpenCV 和从 OutputArrays 或 (Mat) 读取数据
- 使用 mat.at<uchar>(i,j) 的 opencv C++中的矩阵赋值错误
- C++:从GPU内存(cudaMemcpy2D)获取BGR图像(cv::Mat)
- 选择基于另一个垫子的非零像素的cv::Mat的一部分?
- 将 cv::mat 转换为 QImage
- 两个垫子的 OpenCV 数据是相同的,但使用 Mat::at 检索时的值已损坏
- 将 cv::Mat 转换为 std::vector 的通用函数
- 如何通过引用传递OpenCV MAT
- 在 QML VideoOutput 中将 cv::mat 显示为 QVideoFrame
- Read OpenCV Mat 16bit to QImage 8bit Greyscale
- 将本地 OpenCV Mat 变量声明为静态以防止重新分配
- 将 OpenCv Mat 从 C++ 传递给 Python
- 如何发送 Mat H=findHomography 返回 Matlab
- 将帧从 h264 流解码到 OpenCV Mat
- 将图像加载到Mat-vvector<向量<垫子>>