Tommy 碎碎念

Tommy Wu's blog

« 上一篇 | 下一篇 »

patch for FileZilla 3.4.0 win64 version
post by tommy @ 07 四月, 2011 14:41

雖然 ftp client 這東西, 似乎沒什麼必要特地使用 64 位元的版本, 不過.... 還是弄了一個 FileZilla win64 的版本來試看看.

patch 的部份, 可以到這兒下載, 如果有修正的 patch, 應該也會傳到那兒去. 不過最後作者接不接受這個 patch, 我就不清楚了.

而要製作出 win64 的版本, 主要有下列要注意的地方:

  • c/c++ compiler: mingw64 (建議用 TDM-GCC 的版本)
  • msys 的部份, 可以參考 filezilla 的 wiki 說明, 注意不要安裝任何 -dev 相關的東西, 避免使用到 32 位元的函式庫.
  • 參考舊的 filezilla 編譯說明, 自行建立 64 位元的 libtool, autoconf, automake, libiconv, gettext (請抓新的版本, 不要抓那篇說明的那些舊版本).
  • libgcrypt 請加上 --disable-asm 來製作, 因為 asm 部份的程式碼在 win64 使用是有問題的, 會造成程式 crash (可能是 segment fault).
  • 安裝 libgpg-error 時, 執行 iconv --silence 可能會有問題, 建議改成 iconv -s (參考這篇).
  • gnutls 似乎在 mingw64 下, 有些變數似乎是會變成用 unsigned 的方式來定義, 所以在 handshake 時會一直讀不到東西. 上頭的 patch 其中一個就是修正這個問題.
  • wxWidgets 2.8 並沒有對 win64 做處理, 有些地方的型別轉換會造成編譯時出錯 (當然把 64 位元的指標轉成 32 位元的指標, 也許在執行時也會出問題). 所以上頭最主要的 patch 是在修正這個問題.
  • FileZilla 在 resouce 的部份, processorArchitecture 指定為 x86, 要改成 * 或 amd64 才能正常運作, 否則會在執行時出現 0x000007b 的錯誤.

如果你只需要執行檔, 可以到 FileZillaPV 去抓, 如果有更新, 我應該也會傳一份上去.

如果要與 FileZilla 的作者討論這個 win64 的修正... 可以到這兒看看.

如果是自行編譯.... 在 fzshellext 的部份會出錯, 請忽略吧, 依據作者之前的說法, 64 位元的 fzshellexe 目前只能用 msvc 來產生. 所以... 直接用作者原本做的版本就可以了.

Del.icio.us Furl HEMiDEMi Technorati MyShare
迴響
暱稱:
標題:
個人網頁:
電子郵件:
迴響

  

Bad Behavior 已經阻擋了 91 個過去 7 天試圖闖關的垃圾迴響與引用。
Power by LifeType. Template design by JamesHuang. Valid XHTML and CSS