如何使用Xcode在Mac上编译libdvdcss?

时间:2011-04-09 03:59:16

标签: c xcode macos

我想知道如何在Mac OS X上使用Xcode编译libdvdcss的源代码?文件bsdi_ioctl.c包含/sys/dev/scsi/scsi.h/sys/dev/scsi/scsi_ioctl.h的语句。

我所做的是先运行./bootstrap./configure来生成config.h,但我仍然遇到了问题。

任何人都可以对此有所了解吗?

2 个答案:

答案 0 :(得分:1)

您的Makefile尝试包含这些文件是不常见的,因为autoconf文件在将它们包含在Makefile中之前有一条指令要查找它们。但无论出于何种原因,您都有两种编译选项:

  1. 编辑src / Makefile。搜索$(bsdi_sources)并删除所有匹配项,然后重新制作(不要重新配置)
  2. 编辑configure.ac。搜索AM_CONDITIONAL(SYS_BSDI并替换为SYS_BSDI='0'。然后重新运行./bootstrap&的./configure
  3. 运行SYS_BSDI="0" ./configure(单个命令)重新制作。

答案 1 :(得分:1)

不要让./configure的调试信息欺骗你:

checking dvd.h usability... no
checking dvd.h presence... no
checking for dvd.h... no
checking /sys/dev/scsi/scsi_ioctl.h usability... no
checking /sys/dev/scsi/scsi_ioctl.h presence... no
checking for /sys/dev/scsi/scsi_ioctl.h... no
checking sys/scsi/scsi_types.h usability... no
checking sys/scsi/scsi_types.h presence... no
checking for sys/scsi/scsi_types.h... no
checking sys/scsi.h usability... no
checking sys/scsi.h presence... no
checking for sys/scsi.h... no
checking IOKit/storage/IODVDMediaBSDClient.h usability... yes
checking IOKit/storage/IODVDMediaBSDClient.h presence... yes
checking for IOKit/storage/IODVDMediaBSDClient.h... yes

这是我在构建库时获得的。即使某些消息可能让您担心,但其中一些标题对于Mac系统并不重要。无论如何,我尝试了以下一切,一切正常。我目前正在使用Mac OS X 10.6.7,为了清楚起见,必须从cmd-line 构建 libdvdcss。忘了XCode!

第一步是下载最新版本的库。如果您查看他们的homepage,您会注意到他们建议直接从他们的SVN存储库下载源代码:

svn co svn://svn.videolan.org/libdvdcss/trunk libdvdcs

下载完成并且您在目录中时,执行这些命令应该成功编译库:

./bootstrap
./configure
make

如果要测试它,那么在 test 目录中有一个名为 csstest 的应用程序。首先,找到装入DVD的位置(确保计算机内有磁盘):

$ mount
/dev/disk1 on /Volumes/DISK_NAME (udf, local, nodev, nosuid, read-only, noowners)

然后运行 csstest

$ ./csstest /Volumes/DISK_NAME/VIDEO_TS/VTS_01_1.VOB 1024
cool, I found libdvdcss version 1.2.10
requested sector: 000001ba...30107f1c04e03100c031223e0c01017c86c08fff88ff...
sector is not scrambled

要在您的系统上安装它,您必须具有超级用户访问权限才能执行:

make install