1. 程式人生 > >visual studio 2013 編譯 filezilla和filezilla server

visual studio 2013 編譯 filezilla和filezilla server

https://blog.csdn.net/a406226715/article/details/44199559

https://www.cnblogs.com/aiwuzhi/p/7334294.html

https://blog.csdn.net/analogous_love/article/details/73863054

filezilla 的官方網址是:英文 https://filezilla-project.org/  中文 https://www.filezilla.cn/

或者訪問:https://github.com/baloonwj/filezilla

編譯方法: 

  1. 編譯filezilla客戶端用VS2013開啟filezillaclient\clien\src\FileZilla.sln編譯即可。

  2. 編譯filezillaserver用VS2015開啟filezillaserver\filezillaserver\filezillaserver.sln編譯即可。

  3. 編譯filezillaserverinterface用VS2015開啟filezillaserverinterface\filezillaserver\filezillaserverinterface.sln編譯即可。

注意: 客戶端使用C++11開發,而之所以伺服器端的filezillaserver和filezillaserver選擇使用較新的VS2015,是因為伺服器端的程式碼使用了c++14的一些特性,而VS2013是不支援C++14的所有的特性的。

客戶端程式碼,使用了很多第三方庫,比如介面庫wxWidgets、zlib、sqlite等。

      而專案中的CAsyncSocketEx模仿了mfc的CAsyncSocket,但是效率比mfc的CAsyncSocket要高。這個類可以直接拿到其它專案中使用的,比如電驢的原始碼就是直接使用了這個類。整個專案很有特色的地方是在支執行緒中使用windows的訊息佇列來代替傳統的自定義訊息佇列。同時也是對ftp協議的實現。整個專案的程式碼質量也比較高。

      如果您有什麼問題,可以給我留言:906106643,或者加入我們的討論群:49114021。

--------------

filezilla 所依賴的工程:

       1.wxWidgets

              版本:3.0.2

              下載地址:點選開啟連結

               說明和編譯:

                           1.最好自己拿vs編譯一下。

                           2.在wxMSW-3.0.2/build/msw下面有vs的工程檔案

                           3. 編譯的時候出現Cannotopen include file: 'wx/setup.h': No such file or directory

                                        將E:/workspace/wxMSW-2.8.12/include/wx/msw/setup.h

                                        拷貝至上一級目錄

                                        E:/workspace/wxMSW-2.8.12/include/wx/setup.h

        2.GnuTLS

               版本:3.3.13

               下載地址:點選開啟連結

               說明和編譯:

                           1.這個不用自己編譯,可以直接下載win的版本

                           2.如果在編譯客戶端的時候出面找不到gnutls_free這個函式的話,開啟libgnutls-28.def這個檔案將 gnutls_free @XXX 後面的DATA去掉

                           3.下載win版本的時候,是沒有lib檔案的,但是有def檔案,可以使用vs的命令列進行轉換,轉換命令:

                                                      lib /libgnutls-28.def

        3.sqlite

                 版本:amalgamation-3080803

                 下載:點選開啟連結

                 說明和編譯:

                            1.和上面一們下載win的版本是沒有lib檔案,但是有def檔案使用命令轉一下就可以

filezilla server所依賴的工程
             1.zlib

                  版本:128

                  下載地址:點選開啟連結

                  說明和編譯

                           1.這個可以自己編譯

            2.openss

                       版本:1.0.1e

vs2013編譯的其它問題

            1.怎樣解決VS2013模組對於SAFESEH 映像是不安全的

                        連結器”--“命令列”將 /SAFESEH:NO 複製到“其它選項(D)”框中,然後點選應用

提供一下可只接編譯的工程

地址:點選開啟連結

注意:

1.客戶端執行的時候需要資原始檔的,將filezilla的安裝包中的locales,resources,doc目錄複製過來

轉載請註明出處:http://blog.csdn.net/a406226715
--------------------- 
作者:DaybreakZhang 
來源:CSDN 
原文:https://blog.csdn.net/a406226715/article/details/44199559?utm_source=copy 
版權宣告:本文為博主原創文章,轉載請附上博文連結!