调用WinSnmp函数SnmpStartup时出现错误LNK2028

error LNK2028 when calling the WinSnmp function SnmpStartup?

本文关键字:错误 LNK2028 WinSnmp 函数 SnmpStartup 调用      更新时间:2023-10-16

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

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

我的代码如下:

//#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();
}

您对SnmpStartup()&SnmpCleanup(),所以链接器抱怨找不到对它的引用。可能,你正在使用一个定义这些函数的库,但你正在链接到它吗?

编辑:

您应该将程序链接到Wsnmp32.libWsnmp32.dll,并且它应该可以正常工作
看看这个