我想知道如何在Mac OS X上使用Xcode编译libdvdcss的源代码?文件bsdi_ioctl.c包含用于/sys/dev/scsi/scsi.h和/sys/dev/scsi/scsi_ioctl.h的语句。如何在Mac上用Xcode编译libdvdcss?
我所做的是运行./bootstrap
和./configure
首先生成config.h,但我仍然有问题。
任何人都可以对此有所了解吗?
我想知道如何在Mac OS X上使用Xcode编译libdvdcss的源代码?文件bsdi_ioctl.c包含用于/sys/dev/scsi/scsi.h和/sys/dev/scsi/scsi_ioctl.h的语句。如何在Mac上用Xcode编译libdvdcss?
我所做的是运行./bootstrap
和./configure
首先生成config.h,但我仍然有问题。
任何人都可以对此有所了解吗?
你的Makefile将试图包含这些文件是很常见的,因为autoconf文件有一条指令在将它们包含在Makefile中之前查找它们。但无论什么原因,你有几个编译选项:
$(bsdi_sources)
并删除所有匹配项然后重新制作(不要重新配置)AM_CONDITIONAL(SYS_BSDI
并替换为SYS_BSDI='0'
。然后重新运行./bootstrap & ./configureSYS_BSDI="0" ./configure
(单个命令)无需重新制作。不要让从./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,只是要清楚,libdvdcss必须从cmd行构建。忘记XCode!
第一步是下载最新版本的库。如果你检查他们的homepage,你会发现,他们建议直接从他们的SVN库下载来源:
svn co svn://svn.videolan.org/libdvdcss/trunk libdvdcs
一旦下载完成,你的目录内,执行这些命令将成功编译库:
./bootstrap
./configure
make
如果你想测试它有一个名为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
@sza更新回答。 – karlphillip 2011-04-16 17:25:42
通常的方式是'./configure --prefix = whatever;制造使安装'。并非每个程序都遵循这一点,但很多程序都遵循这一点如果失败,请尝试剪切粘贴细节。 – sarnold 2011-04-09 04:03:38
我不是在说如何在命令行上编译它。 – zsong 2011-04-09 04:13:28
@sza:即使您使用Xcode构建(这可能是一个错误,顺便说一句,但也许您有一个很好的理由?)您仍然需要事先在命令行中提供'./configure --prefix = whatever'。 – 2011-04-09 06:10:18