- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经构建了 matio使用提供的说明 here .但是当我尝试运行下面给出的代码时,出现以下错误:
/tmp/ccIrtdDv.o: In function `main':
test.cpp:(.text+0x39): undefined reference to `Mat_Open'
test.cpp:(.text+0xaa): undefined reference to `Mat_VarRead'
test.cpp:(.text+0x20b): undefined reference to `Mat_VarRead'
test.cpp:(.text+0x359): undefined reference to `Mat_VarRead'
test.cpp:(.text+0x43c): undefined reference to `Mat_VarRead'
test.cpp:(.text+0x51a): undefined reference to `Mat_Close'
collect2: ld returned 1 exit status
这是我写的代码。
#include <iostream>
#include <matio.h>
#define tS(x) std::cout<<"\t"<<(#x)<<" == "<<(x)<<"\n"
int main(int argc, char **argv)
{
const char *fileName = argc==1?"./S.mat":argv[1] ;
mat_t *mat = Mat_Open(fileName,MAT_ACC_RDONLY);
if(mat)
{
std::cout<<"Otwarto plik do odczytu\n\tmat == "<<mat<<"\n" ;
matvar_t *matVar=0 ;
std::cout<<"Wypisujemy dane\n\n" ;
std::cout<<"x:\n" ;
matVar = Mat_VarRead(mat, (char*)"x") ;
if(matVar)
{
unsigned xSize = matVar->nbytes/matVar->data_size ;
const double *xData = static_cast<const double*>(matVar->data) ;
for(int i=0; i<xSize; ++i)
{
std::cout<<"\tx["<<i<<"] = "<<xData[i]<<"\n" ;
}
std::cout<<"\n" ;
for(int i=0; i<matVar->rank; ++i)
{
std::cout<<"\tdim["<<i<<"] == "<<matVar->dims[i]<<"\n" ;
}
}
std::cout<<"y:\n" ;
matVar = Mat_VarRead(mat, (char*)"y") ;
unsigned ySize = matVar->nbytes/matVar->data_size ;
const double *yData = static_cast<const double*>(matVar->data) ;
for(int i=0; i<ySize; ++i)
{
double d = yData[i] ;
std::cout<<"\ty["<<i<<"] = "<<d<<"\n" ;
}
std::cout<<"\n" ;
for(int i=0; i<matVar->rank; ++i)
{
std::cout<<"\tdim["<<i<<"] == "<<matVar->dims[i]<<"\n" ;
}
std::cout<<"minX, step:\n";
matVar = Mat_VarRead(mat, (char*)"minX") ;
const double *minXData = static_cast<const double*>(matVar->data) ;
std::cout<<"\tminX = "<<minXData[0]<<"\n" ;
std::cout<<"\n" ;
for(int i=0; i<matVar->rank; ++i)
{
std::cout<<"\tdim["<<i<<"] == "<<matVar->dims[i]<<"\n" ;
}
matVar = Mat_VarRead(mat, (char*)"step") ;
const double *stepData = static_cast<const double*>(matVar->data) ;
std::cout<<"\tstep = "<<stepData[0]<<"\n" ;
std::cout<<"\n" ;
for(int i=0; i<matVar->rank; ++i)
{
std::cout<<"\tdim["<<i<<"] == "<<matVar->dims[i]<<"\n" ;
}
Mat_Close(mat);
}
else
{
std::cout<<"Nie można otworzyć pliku\n" ;
return 1;
}
return 0;
}
我使用以下代码编译代码:
g++ -I/usr/include -L/usr/local/lib test.cpp -o test
安装有没有问题,因为我只是按照他们README中的步骤操作。如果没有,那我该如何解决?提前致谢。
最佳答案
您应该指定 -l 选项。编译器不会扫描所有库来查找符号。母/母:
g++ -I/usr/include -L/usr/local/lib -lmatio test.cpp -o test
关于c++ - 编译 MatIO 时出现链接错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34393058/
我已经构建了 matio使用提供的说明 here .但是当我尝试运行下面给出的代码时,出现以下错误: /tmp/ccIrtdDv.o: In function `main': test.cpp:(.t
我正在尝试在 Ubuntu 机器上编译我的代码。我运行以下代码: g++ refine_pascal_v4/dense_inference.cpp -o prog_refine_pascal_v4 -
如何静态链接matio ,一个用于读取 mat 文件的库,主要由 matlab 和 octave 使用到可执行文件中? 如果文件 main.cpp 包含编译器调用的 matio 功能 g++ -o m
我正在使用 matio 库编写 std::vector>> 的内容和一些其他数据到 MatLab 文件。我在这里使用了教程:http://na-wiki.csc.kth.se/mediawiki/in
所以我有一个 3d 矩阵的 matlab 文件。我正在使用 C++ 读取文件,特别是使用 matio.h,但我在读取实际数据时遇到了一些麻烦/困惑。我知道如何找出数据的维度、等级和名称,但实际读取数据
我想通过 matI/o 库在 visual C++ 中读取一个 mat 文件。我添加 #include到标题并将标题文件夹添加到 VC++ Directories>include dir .我的 ma
前几天我开始尝试 C/C++,因为我需要它来读取 4 级 MAT 文件,而无需购买 Matlab 编辑器或编译器。所以我找到了我需要的库,但我根本不熟悉 C 或 C++,所以我是这两种语言的初学者。无
我是一名优秀的程序员,十分优秀!