我想知道如何在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