简体   繁体   English

C ++编译错误-未定义参考

[英]c++ compilation error- undefined reference

My cpp file has Scilab and Octave header files. 我的cpp文件具有ScilabOctave头文件。 I'm trying to compile using this command 我正在尝试使用此命令进行编译

g++ -l:/usr/lib/scilab/libscilab.so -L/usr/lib/scilab -L/usr/lib/scilab -I/usr/include/octave-3.8.1 -I/usr/include/octave-3.8.1/octave -I/usr/include/scilab s_o_test_v4.cpp -o s_o_test_v4

I get the following error 我收到以下错误

s_o_test_v4.cpp:(.text+0x5f4): undefined reference to `pvApiCtx'
s_o_test_v4.cpp:(.text+0x5ff): undefined reference to `isVarMatrixType'
s_o_test_v4.cpp:(.text+0x61a): undefined reference to `pvApiCtx'
s_o_test_v4.cpp:(.text+0x644): undefined reference to `getMatrixOfDouble'
s_o_test_v4.cpp:(.text+0x743): undefined reference to `string_vector::c_str_vec() const'
s_o_test_v4.cpp:(.text+0x755): undefined reference to `octave_main'
s_o_test_v4.cpp:(.text+0x7a2): undefined reference to `octave_value::octave_value(double)'
s_o_test_v4.cpp:(.text+0x847): undefined reference to `feval(std::string const&, octave_value_list const&, int)'
s_o_test_v4.cpp:(.text+0x8a3): undefined reference to `pvApiCtx'

Both Scilab and Octave functions show error. Scilab和Octave函数均显示错误。 Should I include or remove something from my compile command? 我应该在编译命令中包含或删除某些内容吗?

Maybe the ordering of your make command is wrong, see also this SO question : 也许您的make命令的顺序是错误的,另请参见以下SO问题

Please also note that libraries need to be specified on the command line after the files needing them 另请注意,需要在需要文件的文件后在命令行上指定它们

That would make your command: 那将使您的命令:

g++ -I/usr/include/octave-3.8.1 -I/usr/include/octave-3.8.1/octave -I/usr/include/scilab s_o_test_v4.cpp -o s_o_test_v4 -l:/usr/lib/scilab/libscilab.so -L/usr/lib/scilab -L/usr/lib/scilab

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM