Gcc 交叉编译can';找不到网络snmp(i686/mips64)的头文件
当我运行以下命令时,我正在尝试使用共享对象库交叉编译到mips64上:Gcc 交叉编译can';找不到网络snmp(i686/mips64)的头文件,gcc,header,cross-compiling,net-snmp,mips64,Gcc,Header,Cross Compiling,Net Snmp,Mips64,当我运行以下命令时,我正在尝试使用共享对象库交叉编译到mips64上: toby@cbmFinal:~/x-tools/mips64-n64-linux-gnu/bin$ ./mips64-n64-linux-gnu-gcc -I /home/toby/Downloads/net-snmp-5.5.2.1/include/net-snmp/ -L /usr/lib64/libnetsnmp.so ~/BsDiagnostics/snmpdemoapp.c -o snmpdemoapp 它抛出一
toby@cbmFinal:~/x-tools/mips64-n64-linux-gnu/bin$ ./mips64-n64-linux-gnu-gcc -I /home/toby/Downloads/net-snmp-5.5.2.1/include/net-snmp/ -L /usr/lib64/libnetsnmp.so ~/BsDiagnostics/snmpdemoapp.c -o snmpdemoapp
它抛出一个错误,表示找不到头文件:
/home/toby/BsDiagnostics/snmpdemoapp.c:1:38: error: net-snmp/net-snmp-config.h: No such file or directory
/home/toby/BsDiagnostics/snmpdemoapp.c:2:40: error: net-snmp/net-snmp-includes.h: No such file or directory
/home/toby/BsDiagnostics/snmpdemoapp.c: In function 'main':
/home/toby/BsDiagnostics/snmpdemoapp.c:14: error: 'netsnmp_session' undeclared (first use in this function)
/home/toby/BsDiagnostics/snmpdemoapp.c:14: error: (Each undeclared identifier is reported only once
/home/toby/BsDiagnostics/snmpdemoapp.c:14: error: for each function it appears in.)
/home/toby/BsDiagnostics/snmpdemoapp.c:14: error: expected ';' before 'session'
等等
我已经检查了dir,它们都在那里,我也可以使用-include手动执行它们,但是还有一堆其他的头我不能全部包含
toby@cbmFinal:~/Downloads/net-snmp-5.5.2.1/include/net-snmp$ ls
agent definitions.h mib_api.h.gch output_api.h session_api.h.gch utilities.h
config_api.h library net-snmp-config.h pdu_api.h snmpv3_api.h varbind_api.h
config_api.h.gch machine net-snmp-config.h.in pdu_api.h.gch system varbind_api.h.gch
data_access mib_api.h net-snmp-includes.h session_api.h types.h version.h
任何帮助都将不胜感激。谢谢 已修复,是一个语法错误 正确的命令是:
toby@cbmFinal:~/x-tools/mips64-n64-linux-gnu/bin$ ./mips64-n64-linux-gnu-gcc -I/home/toby/Downloads/net-snmp-5.5.2.1/include/ -L/usr/lib64 -lnetsnmp ~/BsDiagnostics/snmpdemoapp.c -o snmpdemoapp
您是否尝试过删除
-I
和-L
选项后的空格,如图所示?是的,删除了空格,同样的问题只提供此路径-I/home/toby/Downloads/net-snmp-5.5.2.1/include/
,即没有net-snmp
。啊!感谢您修复了缺少头文件的问题,但是未声明的引用错误仍然存在。好像它忽略了图书馆。你看过吗?它已经提供了NetSNMP和许多其他库。