天天看點

關于libnet編譯的這些事

剛接觸這玩意兒,是個徹徹底底的菜鳥.《網絡安全開發包詳解》上介紹了用它可以随心所欲的構造自己需要的資料包,也介紹了如何對其進行編譯的詳細過程。本來以為按照這個指導一步步搞下去該沒什麼問題吧,哪想到其中卻遇到了各種辛酸,一堆亂七八糟的問題,搞的我腦子都大了。。。

問題1:'IPAddress' uses undefined struct 'sockaddr_storage'以及諸如此類的N個錯誤

解決方法:在網上找了N多,結果發現一種直接修改Packet32.h檔案的方法(http://blog.csdn.net/to_ygy/archive/2007/01/15/1483247.aspx強烈的感謝!!)。解決了這個,繼續編譯,卻發現了————問題2:error C2065: 'CRYPT_VERIFYCONTEXT' : undeclared identifier 以及N多錯誤提示。

解決方法:又多虧了偉大的網際網路絡,我不懈的搜尋終于出結果了!

(http://hi.baidu.com/alswl/blog/item/4bffbb0ae9e6d838b1351da7.html再次強烈感謝!!)。原來是目錄的順序問題。。。

終于,搞到隻剩下兩個錯誤了(雖然還有很多的warning。。。),這就是我遇到的第三個搞死人的問題

問題3: fatal error LNK1120: 1 unresolved externals 和: '' undefined; assuming extern returning int 

上網搜的那個辛苦啊。。。終于發現了一篇介紹link錯誤很詳細的文章(http://hi.baidu.com/%B5%C6%CB%BF%C0%CB%CD%BDdslt/blog/item/9ed12708c3d30735e824888b.html),雖然沒有直接解答我的問題,但還是給了我不少的幫助。找來找去,問題終于定格在“hstrerror”上,整個工程中根本就 沒有定義這個函數。。。。仔細的和其它的snprintf的内容核對了下,發現這個“hstrerror”竟然多了一個h!!!

删掉小小的害我不淺的h,整個工程終于順利編譯通過,雖然還有也還是有很多的warning,但是我還是感到蠻欣喜 的!

編譯通過了,就是不知道編譯成功的那個libnet.dll能不能用。。