Hi,
This problem has been solved by myself, after many many desperate tries :)
so I'm not sure I can now give the exact root cause, but some notes anyway:
1) install the ssl version of net-snmp (by default, to c:\usr)
2) install Win32OpenSSL-0_9_8g.exe, which is a developer's version. (by
default, to c:\OpenSSL)
3) in Visual studio, set the linker to reference c:\usr\lib\netsnmp.lib and
C:\OpenSSL\lib\VC\libeay32MD.lib
Thanks All
----- Original Message ----
From: Chongkai Jiang <[EMAIL PROTECTED]>
To: [email protected]
Sent: Wednesday, May 7, 2008 5:34:53 PM
Subject: unresolved symbol when building net-snmp v3
Hi guys,
I'm trying to write a C++ application using net-snmp library. it works well
with snmp version 2, but with version 3, visual studio linker reports errors.
TclSNMP error LNK2001: unresolved external symbol _usmDESPrivProtocol
TclSNMP error LNK2001: unresolved external symbol _usmHMACMD5AuthProtocol
I installed an net-snmp binary version and used netsnmp.lib found in the
installation's lib directory. I also installed win32OpenSSL and tried its lib
files, but it didn't work.
Anyone can help me out? Thanks a lot!
netsnmp_session* GetSnmpSession(char* address) {
map <char*, netsnmp_session*> ::iterator it = snmpSessionMap.find(address);
if (it != snmpSessionMap.end()){
return it->second;
}
netsnmp_session session, *ss;
snmp_sess_init( &session );
session.peername = address;
/*
session.version = SNMP_VERSION_2c;
char* communityName = "private";
session.community = (u_char *)communityName;
session.community_len = strlen(communityName);
*/
session.version = SNMP_VERSION_3;
session.securityLevel = SNMP_SEC_LEVEL_AUTHPRIV;
session.securityName = "regTester";
session.securityNameLen = strlen(session.securityName);
session.securityAuthProto = usmHMACMD5AuthProtocol;
session.securityAuthProtoLen = sizeof(usmHMACMD5AuthProtocol)/sizeof(oid);
session.securityPrivProto = usmDESPrivProtocol;
session.securityPrivProtoLen = sizeof(usmDESPrivProtocol)/sizeof(oid);
// session.securityAuthKey = (u_char*)"regAuthPasswd";
session.securityAuthKeyLen = USM_AUTH_KU_LEN;
//session.securityPrivKey = (u_char*)"regPrivPasswd";
//session.securityPrivKeyLen = strlen(session.securityPrivKey);
generate_Ku(session.securityAuthProto,
session.securityAuthProtoLen,
(u_char *) "regAuthPasswd", strlen("regAuthPasswd"),
session.securityAuthKey,
&session.securityAuthKeyLen);
ss = snmp_open(&session); /* establish the session */
if(ss) {
snmpSessionMap.insert(SessionPair(address, ss));
}
return ss;
}
________________________________
Be a better friend, newshound, and
know-it-all with Yahoo! Mobile. Try it now.
____________________________________________________________________________________
Be a better friend, newshound, and
know-it-all with Yahoo! Mobile. Try it now.
http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference
Don't miss this year's exciting event. There's still time to save $100.
Use priority code J8TL2D2.
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
_______________________________________________
Net-snmp-coders mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/net-snmp-coders