2014年12月8日 星期一

libwdi 1.2.4 編譯

OS: Fedora 20
compiler: MinGW
Source: zadig

目前 Spice-gtk 的 USB redirection功能在 windows 下無法作用, 目標將 Spice-gtk 與 libwdi 融合, 讓 windows 下此功能也能運作, 首先讓 libwdi 在 Fedora 下也能編譯(配合 virt-viewer).

1. 建置環境
    安裝完 Fedora 完後,安裝 MinGW.
        sudo yum install mingw*

2. 設定與編譯
    1. 下載  libusb-win32
         這邊使用的版本為 libusb-win32-bin-1.2.6.0
    2.  下載 libusbK
         這邊使用的版本為 libusbK-3.0.5.16-bin
    3. 下載 WinDDK 7.1
         這邊使用的版本為 7600.16385.1
    4. 設定參考路徑
         請根據下載檔案的解壓縮位置設定
         EX: mingw32-configure --with-ddkdir="/home/jojo/桌面/7600.16385.1" --with-libusb0="/home/jojo/桌面/libusb-win32-bin-1.2.6.0" --with-libusbk="/home/jojo/桌面/libusbK-3.0.5.16-bin/bin"
    5. 修改 config.h
        修改或新增以下定義
        #define COINSTALLER_DIR "wdf"
        #define WDF_VER 1009

        #define OPT_M64
    6. 編譯的時候會說找不到 winusbcoinstaller2.dll
         複製 7600.16385.1/redist/winusb/x86/winusbcoinstaller2.dll 到 7600.16385.1/redist/wdf/x86/winusbcoinstaller2.dll
    7. 編譯
        mingw32-make
    8. 安裝
        sudo mingw32-make install
    9. 產出 
        在 /usr/i686-w64-mingw32/sys-root/mingw/lib
        libwdi.la
        libwdi.a
        libwdi.dll.a
        在 /usr/i686-w64-mingw32/sys-root/mingw/bin
        libwdi.dll

    10. 測試在 libwdi.dll 沒有含 x64 installer, 所以還是拿 windows 下 build 出的 dll 用.

沒有留言:

張貼留言