2011-07-08 22 views
1

私はC++で簡単なデモアプリケーションを作成しようとしています。私はちょうど私のネットワーク上のプリンタのいくつかを照会し、いくつかのデータベーステーブルに入ってくる情報をソートしたいが、私のコードをコンパイルするとき、私はこのエラーを取得:WinSnmp関数SnmpStartupを呼び出すときにLNK2028エラー?

エラー1つのエラーLNK2028:未解決のトークン(0A00001C)「のexternは関数 "int __cdecl main(void)"(?main @@ $$ HYAHXZ)内で参照される "C" unsigned long __stdcall SnmpCleanup(void) "(?SnmpCleanup @@ $$ J10YGKXZ)C:\ Users \ Ashton \ Documents \ Visual次のようにプロジェクト\ Studio 2010の\ 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

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

EDIT:あなたはWsnmp32.libまたはWsnmp32.dllにあなたのプログラムをリンクする必要があり、それが正常に動作する必要があり


thisをご覧ください。

+0

DLLまたはLIBファイルにリンクするにはどうすればよいですか? – Ashton

+0

@Ashton: "snmp32.lib"をライブラリの依存関係に追加します(Project Properties> Linker> Input> Additional Dependencies)。これはリンカーに関数のコードの場所を知らせます。 –

+0

Visual Studio 2010には、プロジェクトプロパティの下にリンカーオプションがありません。何か間違っているのですか? – Ashton

関連する問題