我下载了newmat包,其中包括" include.h"和" newmat.h"我的程序中的标题,但它没有识别名称空间NEWMAT;如果我定义NEWMAT命名空间甚至删除整行,我会得到几个错误,如:
undefined reference to `BaseMatrix::t() const'
似乎没有链接到库,我在谷歌搜索解决方案,有人会说我已经从neewmat包中找到.o或.a库文件并将它们复制到lib文件夹,其他人说我应该使用:gcc myprogram.c thelibrary.o链接到库但是我没有在newmat包中找到任何类型为.o或.a的文件,并且dev-C ++编译器没有识别出使用gcc作为特别的东西。
我是初学者,如果有人能帮助我在程序中实现此程序包,我将不胜感激。
答案 0 :(得分:0)
以下是使用Debian / Ubuntu中的libnewmat10-dev package包的示例:
edd@max:~$ cd /tmp
edd@max:/tmp$ zcat /usr/share/doc/libnewmat10-dev/examples/example.cpp.gz > ex.cpp
edd@max:/tmp$ g++ ex.cpp -o ex -I/usr/include/newmat -lnewmat
edd@max:/tmp$ ./ex | head -25
Demonstration of Matrix package
Print a real number (may help lost memory test): 3.14159
Test 1 - traditional, bad
Estimates and their standard errors
1.39166 0.53188
1.98310 0.20932
0.95221 0.27731
Observations, fitted value, residual value, hat value
2.400 1.700 8.300 7.770 0.530 0.280
1.800 0.900 5.500 5.818 -0.318 0.190
2.400 1.600 8.000 7.675 0.325 0.229
3.000 1.900 8.500 9.150 -0.650 0.446
2.000 0.500 5.700 5.834 -0.134 0.271
1.200 0.600 4.400 4.343 0.057 0.480
2.000 1.100 6.300 6.405 -0.105 0.143
2.700 1.000 7.900 7.698 0.202 0.153
3.600 0.500 9.100 9.007 0.093 0.808
edd@max:/tmp$
有关详情,请参阅Robert的其他文档。我过去常常使用newmat - 从20多年前开始。但是现在,我更喜欢Conrad Sanderson的Armadillo。
您需要查阅您的想法文档,了解如何更改链接命令,或使用Makefile
。