我用的vc2005,在对话框中加了一个CWGraph控件,并给它加了一个CNiGraph类型的成员变量 m_graph,在cpp文件
的OnInitDialog()函数中加了4行代码来控制CWGraph控件的曲线形状:
CNiReal64Vector data;
double phase = 0;
CNiMath::SineWave(data,200,phase,2,0.1);
m_Graph.GetPlots().Item(1).PlotY(data,-100,1);编译没有错误,但运行出错:
1>OutputCurveDlg.obj : error LNK2019: 无法解析的外部符号 "public: static enum NI::MathError __cdecl NI::CNiMath::SineWave(class NI::CNiScalarVector<double> &,unsigned int,double &,double,double)" (?SineWave@CNiMath@NI@@SA?AW4MathError@2@AAV?$CNiScalarVector@N@2@IAANNN@Z),该符号在函数 "protected: virtual int __thiscall COutputCurveDlg::OnInitDialog(void)" (?OnInitDialog@COutputCurveDlg@@MAEHXZ) 中被引用
1>.\Debug/MainMenu.exe : fatal error LNK1120: 1 个无法解析的外部命令
1>MainMenu - 2 个错误但是程序是从一个能正常运行的例子中粘过来的,应该没错,头文件应该也都加了,要不编译时不会不报错。我从网上搜了一下,有人说是可能没有链接相应的库,我就试了一下,因为是调用CNiMath::SineWave时出的错,而CNiMath又是在NiMath.h中定义的,所以我在属性中的“附加依赖项”上加了一个NiMath80.lib的库,就检不到错误了但是说什么冲突。所以我想可能就是没加上库的事,但是我有不知道该加哪个库,各位帮忙告诉我一下,万分感谢!