我已经尝试过你告诉我的命令:
gcc $(net-snmp-config --cflags) $(net-snmp-config --libs) $(net-snmp-config --external-libs) snmp_test.c -o snmp_test
并且我收到以下错误:
/tmp/ccKrUliA.o:在函数'main'中:
/home/jose/NETWORK_PROTOCOLS/ej_02_SNMP/snmp_test.c:29:未定义对“init_snmp”的引用
/home/jose/NETWORK_PROTOCOLS/ej_02_SNMP/snmp_test.c:31:对`snmp_sess_init'的未定义引用
/home/jose/NETWORK_PROTOCOLS/ej_02_SNMP/snmp_test.c:36:未定义对“snmp_open”的引用
/home/jose/NETWORK_PROTOCOLS/ej_02_SNMP/snmp_test.c:38:未定义对“add_mibdir”的引用
/home/jose/NETWORK_PROTOCOLS/ej_02_SNMP/snmp_test.c:39:未定义对“read_mib”的引用
/home/jose/NETWORK_PROTOCOLS/ej_02_SNMP/snmp_test.c:40:未定义对“snmp_pdu_create”的引用
/home/jose/NETWORK_PROTOCOLS/ej_02_SNMP/snmp_test.c:42:未定义对“read_objid”的引用
/home/jose/NETWORK_PROTOCOLS/ej_02_SNMP/snmp_test.c:43:未定义对`snmp_add_null_var'的引用
/home/jose/NETWORK_PROTOCOLS/ej_02_SNMP/snmp_test.c:45:未定义对“read_objid”的引用
/home/jose/NETWORK_PROTOCOLS/ej_02_SNMP/snmp_test.c:46:未定义对`snmp_add_null_var'的引用
/home/jose/NETWORK_PROTOCOLS/ej_02_SNMP/snmp_test.c:48:未定义对`snmp_synch_response'的引用
/home/jose/NETWORK_PROTOCOLS/ej_02_SNMP/snmp_test.c:51:未定义对“print_value”的引用
/home/jose/NETWORK_PROTOCOLS/ej_02_SNMP/snmp_test.c:53:未定义对`snmp_free_pdu'的引用
/home/jose/NETWORK_PROTOCOLS/ej_02_SNMP/snmp_test.c:54:未定义对`snmp_close'的引用
collect2: 错误:ld 返回 1 个退出状态
然后我尝试添加-L和-lsnmp,结果如下:
jose@jose-VirtualBox:~/NETWORK_PROTOCOLS/ej_02_SNMP$ gcc -L/usr/locallib/ -lsnmp $(net-snmp-config --cflags) $(net-snmp-config --libs) $(net -snmp-config --external-libs) snmp_test.c -o snmp_test
/usr/bin/ld: 找不到-lsnmp
collect2: 错误:ld 返回 1 个退出状态