Jag får massa olika "unresolved external symbol" fel. Alla härör till <snmp.h> som är inkluderad. Varför får jag felen? Felen kommer när du länkar projektet. jadu. allting funkar bra med ett exempelprojekt som jag kör. Det var när jag skapade en unmanaged win32 dll i vstudio.net och kopierade in alla funktioner och lade till "#include <snmp.h>" som det började strula. Prova att börja om från början med Win32 dll-projektet. nej det e någe annat. Ja, det är klart, men det ver inte det jag menade. Jag menade att du gör ett nytt projekt, där du bara inkluderar <smnp.h>, och ser om det funkar. >Ja, det är klart, men det ver inte det jag menade. Jag menade att du gör ett nytt projekt, där du bara inkluderar <smnp.h>, och ser om det funkar. >jag förstod vad du menade med nytt projekt, men det är inte problemet orginalexemplet är en c win dll (projekt) Isf borde det ligga i att man behöver Fins det någon .LIB fil som hör ihop med SNMP.H? I så fall måste du länka med den.win32 dll projekt - unresolved external symbol
SnmpAgentExtension.obj : error LNK2019: unresolved external symbol _SnmpUtilOidCmp@8 referenced in function "unsigned int __cdecl ResolveVarBind(unsigned char,struct SnmpVarBind *)" (?ResolveVarBind@@YAIEPAUSnmpVarBind@@@Z)Sv: win32 dll projekt - unresolved external symbol
Det är så att en variabel som försöker användas inte går att hitta.(_SnmpUtilOidCmp)
Denna variabel används i funktionen ResolveVarBind.
Detta kan bero på lite olika saker, men jag antar att du inte har gjort <snmp.h> själv.
I så fall får du kolla om du måste inkludera fler filer, eller om du kan tänkas behöva deklarera variabeln själv.
Återkom med detaljer.
/Niklas JanssonSv: win32 dll projekt - unresolved external symbol
Jag ska inte ha missat någon include utan allting ska finnas med. Det är det som gör mig konfunderad.Sv: win32 dll projekt - unresolved external symbol
Om felet kommer direkt så beror det ju på att det är en dll antagligen.
/Niklas JanssonSv: win32 dll projekt - unresolved external symbol
om jag inte inkluderar snmp.h får jag: d:\projects\cpp\Datatal Snmp Agent Extension\Take Two\Take Two.cpp(28): error C2065: 'SnmpUtilMemAlloc' : undeclared identifier
alltså måste det vara deklarationstyperna som skiljer sig. det finns ju __stdcall, __ccall o allt vad dom heter...Sv: win32 dll projekt - unresolved external symbol
Om du kollar i msdn står det bl.a.:
----
Common problems that cause LNK2019 include:
...
-The calling convention (__cdecl, __stdcall, or __fastcall) differs on the use of the function declaration and the function definition.
...
----
Det är den enda som är trolig bland de alternativen som MSDN ger.
/Niklas JanssonSv: win32 dll projekt - unresolved external symbol
jag förstod vad du menade med nytt projekt, men det är inte problemet.
> Om du kollar i msdn står det bl.a.:
som sagt, jag har oxå hittat det där från msdn, men det ger inte mig någon fingervisning till vad jag ska göra för att åtgärda problemet.Sv: win32 dll projekt - unresolved external symbol
Felet uppstår alltså bara vid ett anrop av funktionen, och bara om du kompilerar det som ett Win 32 dll-projekt?
/Niklas JanssonSv: win32 dll projekt - unresolved external symbol
projektet som vstudio.net generarar är ett c++ dll projekt (klassbaserat) med stdafx osvSv: win32 dll projekt - unresolved external symbol
extern "c" blablabla
istället för
extern blablabla
/Niklas JanssonSv: win32 dll projekt - unresolved external symbol