您的位置:首页 > 其它

将NTFS库编译进testdisk/photorec - CYGWIN平台

2014-05-06 13:55 1141 查看
原始的testdisk/photorec源码不包含NTFS库,编译出来的photorec也不支持NTFS分区的文件恢复。故需要将NTFS库编译进testdisk/photorec源码。

1. 在这里下载NTFS库,http://freecode.com/projects/linuxntfs/releases/153996。(ntfs-3g库不支持CYGWIN平台,放弃)。

2. 编译NTFS库,注意types.h中的BOOL宏会与windef.h的BOOL宏冲突,自行解决。

3. 将编译出来的libntfs.a libntfs.la libntfs.dll.a cygntfs-9.dll复制到相应目录。

4. 进入testdisk/photorec,修改config.h,即打开其中的NTFS编译宏。如下:

/* Define to 1 if you have the ntfs library (-lntfs). */
/* #undef HAVE_LIBNTFS */
#define HAVE_LIBNTFS 1

/* Define to 1 if you have the <ntfs/attrib.h> header file. */
/* #undef HAVE_NTFS_ATTRIB_H */
#define HAVE_NTFS_ATTRIB_H 1

/* Define to 1 if you have the `ntfs_libntfs_version' function. */
/* #undef HAVE_NTFS_LIBNTFS_VERSION */
#define HAVE_NTFS_LIBNTFS_VERSION 1

/* Define to 1 if you have the <ntfs/version.h> header file. */
/* #undef HAVE_NTFS_VERSION_H */
#define HAVE_NTFS_VERSION_H 1

/* Define to 1 if you have the <ntfs/volume.h> header file. */
/* #undef HAVE_NTFS_VOLUME_H */
#define HAVE_NTFS_VOLUME_H 1

/* Define to 1 if you have the `ntfs_volume_startup' function. */
/* #undef HAVE_NTFS_VOLUME_STARTUP */
#define HAVE_NTFS_VOLUME_STARTUP 1

此处可使用nm解析库文件以确定是否存在某一函数。

5. 修改Makefile,添加 -lntfs 至需链接的库文件变量。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: