Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/160.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 与Mex和IT一起编译问题++;_C++_Matlab_Mex - Fatal编程技术网

C++ 与Mex和IT一起编译问题++;

C++ 与Mex和IT一起编译问题++;,c++,matlab,mex,C++,Matlab,Mex,我在编译It++库时遇到问题。我已经正确安装了它,并用一个没有mex的简单示例对其进行了测试 mex it_mex_fkmigration.cpp-litpp it_mex_fkmigration.cpp:1:25: error: itpp/itcomm.h: No such file or directory it_mex_fkmigration.cpp:2:26: error: itpp/itmex.h: No such file or directory it_mex_fkmigratio

我在编译It++库时遇到问题。我已经正确安装了它,并用一个没有mex的简单示例对其进行了测试

mex it_mex_fkmigration.cpp-litpp

it_mex_fkmigration.cpp:1:25: error: itpp/itcomm.h: No such file or directory
it_mex_fkmigration.cpp:2:26: error: itpp/itmex.h: No such file or directory
it_mex_fkmigration.cpp:4: error: expected namespace-name before ';' token
it_mex_fkmigration.cpp:4: error: '<type error>' is not a namespace
it_mex_fkmigration.cpp:6: error: 'mxArray' has not been declared
it_mex_fkmigration.cpp:6: error: expected ',' or '...' before '*' token
it_mex_fkmigration.cpp:6: error: ISO C++ forbids declaration of 'mxArray' with no type
it_mex_fkmigration.cpp: In function 'void mexFunction(int, int**, int, int)':
it_mex_fkmigration.cpp:9: error: 'mexErrMsgTxt' was not declared in this scope
it_mex_fkmigration.cpp:10: error: 'mexErrMsgTxt' was not declared in this scope
it_mex_fkmigration.cpp:13: error: 'bvec' was not declared in this scope
it_mex_fkmigration.cpp:13: error: expected `;' before 'input_bits'  
it_mex_fkmigration.cpp:16: error: 'cvec' was not declared in this scope
it_mex_fkmigration.cpp:16: error: expected `;' before 'output_symbols'
it_mex_fkmigration.cpp:17: error: 'QPSK' was not declared in this scope
it_mex_fkmigration.cpp:17: error: expected `;' before 'qpsk'
it_mex_fkmigration.cpp:19: error: 'output_symbols' was not declared in this scope
it_mex_fkmigration.cpp:19: error: 'qpsk' was not declared in this scope
it_mex_fkmigration.cpp:19: error: 'input_bits' was not declared in this scope
it_mex_fkmigration.cpp:23: error: 'mxCOMPLEX' was not declared in this scope
it_mex_fkmigration.cpp:23: error: 'mxCreateDoubleMatrix' was not declared in this scope
it_mex_fkmigration.cpp:26: error: 'cvec2mxArray' was not declared in this scope 
it\u mex\u fkmigation.cpp:1:25:错误:itpp/itcomm.h:没有这样的文件或目录
it_mex_fkmigation.cpp:2:26:错误:itpp/itmex.h:没有这样的文件或目录
it_mex_fkmigration.cpp:4:错误:在“;”之前应该有命名空间名称代币
it\u mex\u fkmigration.cpp:4:错误:“”不是命名空间
it_mex_fkmigration.cpp:6:错误:“mxArray”尚未声明
it_mex_fkmigation.cpp:6:错误:应在“*”标记之前加上“,”或“…”
ItMyMyFukFigel.CPP:6:错误:ISO C++禁止声明“MxLaar”,没有类型
it_mex_fkmigation.cpp:在函数“void mexFunction(int,int**,int,int)”中:
it_mex_fkmigation.cpp:9:错误:“mexErrMsgTxt”未在此作用域中声明
it_mex_fkmigation.cpp:10:错误:未在此作用域中声明“mexErrMsgTxt”
it_mex_fkmigration.cpp:13:错误:未在此作用域中声明“bvec”
it_mex_fkmigration.cpp:13:错误:应为“;”在“输入位”之前
it_mex_fkmigation.cpp:16:错误:未在此作用域中声明“cvec”
it_mex_fkmigration.cpp:16:错误:应为“;”在“输出符号”之前
it_mex_fkmigration.cpp:17:错误:“QPSK”未在此作用域中声明
it_mex_fkmigration.cpp:17:错误:应为“;”在“qpsk”之前
it_mex_fkmigration.cpp:19:错误:“输出符号”未在此范围内声明
it_mex_fkmigration.cpp:19:错误:“qpsk”未在此作用域中声明
it_mex_fkmigration.cpp:19:错误:“输入位”未在此作用域中声明
it_mex_fkmigation.cpp:23:错误:未在此作用域中声明“mxCOMPLEX”
it_mex_fkmigation.cpp:23:错误:未在此作用域中声明“mxCreateDoubleMatrix”
it_mex_fkmigation.cpp:26:错误:“cvec2mxArray”未在此作用域中声明

您需要告诉mex It++库的位置。使用
-I
选项指定包含路径;和
-L
选项来指定库搜索路径

mex it_mex_fkmigration.cpp -litpp -Ipath/to/it++/library -Lpath/to/libitpp
我过去在使用
-L
选项时遇到过问题,必须通过使用
-L
选项指定库的整个路径来解决这个问题

mex it_mex_fkmigration.cpp -lpath/to/libitpp/libitpp.a -Ipath/to/it++/library
可以传递给
mex
的其他选项在中列出(在mex脚本开关部分下)


另外,关于
mxArray
mexErrMsgTxt
等的错误表明您没有在
it\u mex\u fkmigation.cpp
中包含
mex.h
,谢谢!但是,当我包含itpp/itmex.h文件所在的路径时(对我来说是/usr/local/include/itpp),仍然会出现“找不到文件”错误。>>mex it_mex_fkmigration.cpp-litpp-I/usr/local/include/itpp-L/usr/local/lib it_mex_fkmigration.cpp:1:24:error:itpp/itmex.h:没有这样的文件或目录mex:编译“it_mex_fkmigration.cpp”失败。@CarnezDavis如果你有
#包括“itpp/itmex.h”
文件路径是
/usr/local/include/itpp/itmex.h
指令需要是
-I/usr/local/include