zoukankan      html  css  js  c++  java
  • 转:jmf編譯問題的解決

    http://www.javaworld.com.tw/jute/post/view?bid=5&id=203226&sty=1&tpg=13&age=0
    ——————————————————————————————————————————————————————————
    小弟最近正在研究jmf。由於個人的需求需要修改jmf 的原生程式,因此就必須
    重新編譯整個jmf的source code。在編譯的過程,即使按照說明文件去操作,仍然會產生一些編譯上的問題,而這些編譯上的問題在官方網站找不到解決的方式。小弟已經把編譯的問題解決了我會在以下的文章說明解決的方式。

    (一)
    需要的必備的東西:
    (1) jdk(小弟是使用1.4)
    (2) nmake1.5
    (3)Java Media Framework 2.1.1e Binary
    (4)mspdb60.dll
    其中,(3)的下載位置是:
    http://www.sun.com/software/communitysource/jmf/download.xml
    (4)的下載位置是:
    http://www.dll-files.com/dllindex/dll-files.shtml?mspdb60
    (2)下載位置是:
    http://support.microsoft.com/kb/132084

    (二)安裝方式:
    (1)執行nmake1.5.exe後會產生二個文件:NMAKE.EXE和NMAKE.ERR
    把這二個文件放在相同的目錄下。例如:c:\make
    再來,設定路徑。例如:%path%;c:\make
    (2)解壓縮下載的Binary壓縮檔後,把derived和derived_win32二個資料匣
    copy到 jmf的source code目錄內,即%JMFHOME%
    再來**這一點很重要請不要遺漏。copy derived\com裡的資料匣到
    %JMFHOME%\src\share裡,把原來的com資料匣蓋掉
    (3)把mspdb60.dll 放到C:\WINDOWS\system32

    (三)設定buildjmf.bat
    在%JMFHOME%\doc\buildinfo裡就有範例文件了,可以參考那裡的東西。
    小弟列出我的設定方式給大家參考:
    -------------------------------------------------------------------------------------------------------
    set JAVAHOME=C:\jdk1.4
    set JMFHOME=C:\JMF_2.1.1e_SourceCode
    set SOUNDCLASSES=%JMFHOME%\javasound
    set MSDEVHOME=F:\v\VC98
    set oldpath=%path%
    set oldclasspath=%CLASSPATH%
    set CLASSPATH=%JMFHOME%\build\win32\lib;%SOUNDCLASSES%\sound.jar;.
    set path=%JMFHOME%\build\win32\lib;%SOUNDCLASSES%\win32;%path%
    set path=%MSDEVHOME%\bin;%path%
    cd %JMFHOME%\build\win32
    nmake
    nmake image
    set path=%oldpath%
    set CLASSPATH=%oldclasspath%
    ------------------------------------------------------------------------------------------------------
    **這裡有一點請大家要注意很重要,MSDEVHOME環境變數各位可能會設成
    MSDEVHOME=C:\Program Files\Microsoft Visual Studio\VC98
    設這樣是沒錯的,但是實際在編譯時會產生錯誤出來。經過小弟
    測式結果,發現,在編譯時,該變數值只能讀到C:\Program Files,後面的
    路徑名稱就讀不到了。 因此,斷定MSDEVHOME變數是有長度的限制的
    超過了該長度,後面的路徑名稱就讀不到了。小弟的解決方式就是路徑
    的設定盡量短小。我把原來的Microsoft Visual Studio移到F:\
      接著把Microsoft Visual Studio目錄名稱改成v。

    (四)執行buildjmf.bat

    (五)產生編譯好了之後,整個class、dll、與執行檔都放在
    %JMFHOME%\build\win32裡。
    其中,jmf的執行檔是放在 %JMFHOME%\build\win32\image\bin裡
    補充說明為什麼編譯時要用到
    (1)ava Media Framework 2.1.1e Binary
    (2)mspdb60.dll

    以(1)來說,因為sun並沒有完整公開 jmf的source code(一小部分),
    舉如: com.sun.media.rtp 這個package就沒有公開了。在source
    code的目錄內是找不到rtp這個package的。但是,程式中會用到
    該套件,因此若是沒有這個Binnary的話,編譯會出現錯誤訊息(即找不到某個類別)。是的,sun把一小部分未公開的jmf source code都編譯成binary檔了。

    (2)mspdb60.dll是在編譯jmf的原生程式要用到的。沒加入該DLL在編譯
    JMF的原生程式時會跳出一個訊息方塊跟你說找不到mspdb60.dl錯誤
    訊息。l
    ——————————————————————————————————
    傲轩游戏网
  • 相关阅读:
    net core 2 读取appsettings.json
    转: C# 根据当前时间获取,本周,本月,本季度等时间段 .Net中Exception
    转:5种回到顶部的写法从实现到增强
    转:jQuery 常见操作实现方式
    NLog 自定义字段 写入 oracle
    转:C# 使用NLog记录日志
    转:NLog之:文件类型目标(File target)
    springboot2.x+jwt+shiro最简单、最快速整合方式
    windows部署mindoc
    docker安装mongodb
  • 原文地址:https://www.cnblogs.com/cuizhf/p/2490593.html
Copyright © 2011-2022 走看看