MONOx64amd_x64

王朝学院·作者佚名  2016-08-27
窄屏简体版  字體: 小  |  中  |  大  |  超大  

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的定义在文件

https://github.com/mono/mono/blob/master/mcs/class/Mono.Posix/Mono.Unix.Native/Syscall.cs

[DllImport (MPH, SetLastError=true,EntryPoint="Mono_Posix_Syscall_get_at_fdcwd")]

privatestaticexternintget_at_fdcwd();

publicstaticreadonlyintAT_FDCWD=get_at_fdcwd();

是一个P/Invoke ,具体参考文章 Mono P/Invoke :DLLImport

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航