【大話QT之十五】ctkPluginFrameWork外掛程式系統Windows下編譯

來源:互聯網
上載者:User

標籤:ctkpluginframework編譯

       使用ctkPluginFramework作為外掛程式系統架構的確有著眾多開發上的優勢。最近收到一些站內信,大家都想使用ctkPluginFramework但是不知道如何編譯,這篇教程就來講一講ctkPluginFramework外掛程式系統在Windows下的編譯過程。

準備條件:

        1. 安裝Git,我們通過它來下載CTK的源碼。

        2. 安裝CMake,我們用它來產生vs下的sln解決方案檔案。

相關網站:

        1. CTK的官網:http://www.commontk.org/index.php/Main_Page

        2. CTK源碼:https://github.com/commontk/CTK

編譯步驟:

        注意:下面目錄中出現的檔案,由於是我已經編譯過的,因此可能會和剛下載的多出很多檔案,在這裡僅說明流程是怎樣的。

        1. Git下載源碼包。Git:https://github.com/commontk/CTK.git 。

            

        2. 利用cmake開啟最外層的CMakeList.txt檔案,選擇ctkPluginFramework子項,產生sln檔案。

            Git下載完成後,其目錄結構如下:

           

            如,開啟cmake工具,選擇剛下載的CTK目錄,它會自動根據CMakeList.txt檔案載入子項目,如所示;

                        

            選擇ctkPluginFramework模組,點擊Generate, Configure;完成後,查看是否產生sln檔案,注意:此處一定要勾選中標註的CTK_ENABLE_PluginFramework,不然編譯產生的sln檔案也無法產生最終的CTKPluginFramework.dll檔案;

                       

        3. VS2010下開啟sln檔案,進行編譯產生CTKPluginFramework.dll和CTKCore.dll。

           使用VS2010開啟sln檔案後,結構如下所示:

          

          選擇ALL BULID編譯完成,即可產生最終的CTKPluginFramework.dll,外掛程式系統所應用的dll就是該檔案。

          最終,在CTK/CTK-build/bin/debug/下即可產生最終的CTKCore.dll和CTKPluginFramework.dll檔案以及對應的lib檔案,再利用標頭檔就可以構建基於外掛程式開發的系統,如所示:

         

總結:

        如上所示,ctkPluginFramework的編譯還是很簡單,關鍵是要和業務結合,在項目中合理地使用它,相信它會給大家帶來意想不到的好處,尤其是面對大型項目、多人協作開發的過程中。如何構建一個項目的結構以及如何在項目中使用外掛程式式開發,CTK的官網也有相關介紹,但是本人感覺不是很清晰,詳細使用在下篇博文中寫出。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.