2

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

1 に答える 1

2

SnmpStartup()&の定義がないSnmpCleanup()ため、リンカーはそれへの参照が見つからないと不平を言います。おそらく、これらの関数を定義するライブラリを使用していますが、それにリンクしていますか?

編集:

プログラムをWsnmp32.liborにリンクする必要がWsnmp32.dllあり、正常に動作するはずです。これ
を見てください。

于 2011-07-08T19:42:42.850 に答える