文章出處
文章列表
SharpPcap 是一個.NET 環境下的網絡包捕獲框架,基于著名的 pcap/WinPcap 庫開發。提供了捕獲、注入、分析和構建的功能,SharpPcap 還是一個跨平臺的庫,可以在Mono/.NET下運行,詳細內容可以看http://www.codeproject.com/Articles/12458/SharpPcap-A-Packet-Capture-Framework-for-NET ,本文的內容是SharpPcap在Mono 的CentOS 64上運行發生錯誤:
Mono.Unix.Native.Syscall ---> System.EntryPointNotFoundException: Mono_Posix_Syscall_get_at_fdcwd 的解決方法:
1、在64位服務器上編譯Mono時,加個選項 --libdir=/usr/lib64, Mono的編譯選項如下:
./configure --prefix=/usr/ --libdir=/usr/lib64
make
make install
2、將/usr/lib64 加入 /etc/ld.so.conf,然后運行 ldconfig 生成 /etc/ld.so.cache。 ld.so 加載共享庫的時候,會從 ld.so.cache 查找。
Mono_Posix_Syscall_get_at_fdcwd的定義在文件
[DllImport (MPH, SetLastError=true,
EntryPoint="Mono_Posix_Syscall_get_at_fdcwd")]
private static extern int get_at_fdcwd ();
public static readonly int AT_FDCWD = get_at_fdcwd ();
是一個P/Invoke ,具體參考文章 Mono P/Invoke :DLLImport
文章列表
全站熱搜