调用WinSnmp函数SnmpStartup时出错LNK2028?

时间:2011-07-08 19:35:40

标签: c++ snmp winsnmp

我正在尝试用C ++编写一个简单的演示应用程序。我只想查询网络上的一些打印机并将传入的信息排序到几个数据库表中,但在编译代码时出现此错误:

  

错误1错误LNK2028:未解析的令牌(0A00001C)“extern”C“unsigned long __stdcall SnmpCleanup(void)”(?SnmpCleanup @@ $$ J10YGKXZ)在函数“int __cdecl main(void)”中引用(?main @ @ $$ HYAHXZ)C:\ Users \ Ashton \ Documents \ Visual Studio 2010 \ Projects \ snmpdemo \ snmpdemo \ Main.obj

我的代码如下:

//#include <Snmp.h>
#include <WinSnmp.h>
#include <stdio.h>

smiLPUINT32 majorVers;
smiLPUINT32 minorVers;
smiLPUINT32 nLevel;
smiLPUINT32 translateMode;
smiLPUINT32 retranslateMode;

int main()
{

    SnmpStartup(majorVers, minorVers, nLevel, translateMode, retranslateMode);

    printf("%imajorVers /n %iminorVers /n "
           "%inLevel /n "
           "%itranslateMode /n "
           "%iretranslateMode");

    SnmpCleanup();
}

1 个答案:

答案 0 :(得分:1)

您没有SnmpStartup()&amp;的任何定义SnmpCleanup()所以链接器抱怨它无法找到对它的引用。您可能正在使用一个定义这些函数的库,但是您是否链接到它?

编辑:

您应该将您的计划关联到Wsnmp32.libWsnmp32.dll,它应该可以正常工作 请查看 this