SNMP 在vs2008下的編譯

2021-06-11 01:38:36 字數 2196 閱讀 4584

專案要做snmp的網路管理軟體,用c++開發,在網上查了些資料,決定用snmp++開發包來做。我用的環境是vs2008,在網上基本就沒找到資料,查了很多在vc6.0下編譯的,發現大家也都有很多問題,我自己就試了很久才成功,怕之後忘了,來記錄下來~~

是在這篇文章的基礎上做的謝謝~

libdes-l-4.01a

解壓後為libdes資料夾

libtomcrypt v1.17

(這個沒用到)解壓後為crypt資料夾

snmp++v3.2.24

解壓後為snmp++資料夾

ms vc++7.0 project files

(這個也沒用到)解壓後為msvc資料夾

按上文中的說法「經過一系列的解壓縮後,我們要形成乙個資料夾,名為snmp++,裡面至少要包括以上目錄include、src、libdes,目錄的結構如下:」

這裡,我以snmp++v3.2.24

解壓後的snmp++資料夾為主要的目錄進行操作,先把libdes資料夾拷貝到snmp++資料夾中,再把snmp++\include\snmp_pp中的.h檔案拷貝出來,放到snmp++\include\路徑下;此外,還有乙個上文特別提到的步驟,即把剛剛拷貝的那些.h檔案再拷貝乙份到snmp++\目錄下。

這塊大家可能會覺得很亂,我附圖2張,清晰一點。

2.然後就要在vs2008中編譯生成snmp_pp.lib檔案,基本就是按照引文做的,可以參照著看,但是由於不是vc6.0,所以有一點不同,操作步驟如下:

(1)在vs2008開發環境下,選擇「file」->「new」->"project"項,在彈出的視窗中選擇「visual c++」樹形選單,其中的"win32",在右邊的視窗選擇win32 project,工程名為「snmp_pp」,如圖所示。

(3)在工作區內,為工程新增解壓縮後的所有原始檔(即snmp++\src目錄下的所有字尾為cpp的檔案,如圖所示,這裡新增方法是右擊樹形列表中的source files,在彈出的選單中選擇"add"->"existing item",然後找到你存放snmp++的地方。

(4)按引文所說,為了讓編譯的鏈結庫支援snmpv3,要把snmp++\libdes目錄下的c檔案也新增到source files裡,這裡就不放圖了,和上一步方法一樣。

(5)用同樣的方法,把snmp++\include目錄下所有字尾為h的檔案,以及snmp++\libdes目錄下的h檔案新增到header files中

(6)檔案新增完後,設定工程編譯環境。主選單選"project」->"properties"項,彈出的視窗中,按照下圖進行設定

(7)由於加入了c檔案,需要更改預編譯選項,還在同乙個視窗中,換到precompiled headers的設定中,如圖

(8)目錄設定。主選單「tools」->「options…」項,彈出的視窗中,按圖所示進行操作,新增snmp++標頭檔案所在的目錄snmp++\include,還有snmp++\src,snmp++\libdes

(9)選擇「build」->「build solution」項,生成靜態鏈結庫檔案snmp_pp.lib,我生成的檔案放在d:\my documents\visual studio 2008\projects\snmp_pp\debug中。

(10)將生成的靜態鏈結庫檔案snmp_pp.lib直接複製到vs2008安裝目錄:c:\program files\microsoft visual studio 9.0\vc\lib中去,就可以像使用vc自帶的其他庫檔案一樣使用它了。

boost asio在VS2008下的編譯錯誤

boost asio在vs2008下的編譯錯誤。公升級vs到vs2008後,編譯boost asio出錯,old win sdk compat.hpp 58行報錯,該行 是 struct in6 addr emulation u char s6 addr 16 究其原因,是因為c program f...

在VS2008下編譯Qt4 4 x

在vs2008下編譯qt4.4.x 在vs2008 下編譯qt4.4.x 1.設定環境變數 檢查系統環境變數中是否包含了 qtdir 環境變數,一般情況下安裝程式會自動設定好這些 環境變數的,如果你發現安裝後沒有正確設定這些變數,就必須手工方式來完成設定,如 d qt 4.4.0 然後在系統環境目錄...

VS2008編譯問題!

vs2005鏈結問題 lnk2005錯誤 error lnk2005 free 已經在 libcmtd.lib dbgheap.obj 中定義 以前經常遇到這個警告資訊,因為執行並沒有什麼問題,所以也沒深究。但是耿耿於懷那個 0 個錯誤,0 個警告 的成功提示,在網上搜了一下。原來問題出在預設庫的引...