我有一個項目,創建一個動態庫,該DLL將由第三方應用程序使用。構建一個動態庫用於發佈和靜態庫GTest
但要運行googletests,我需要創建一個靜態庫,那麼如何構建這兩種類型的文件?
是否有一個後期構建事件會創建一個庫和一個動態庫。
你會如何處理這兩種情況,(可能包括我的單元測試中的所有文件,而不是鏈接庫)?
我有一個項目,創建一個動態庫,該DLL將由第三方應用程序使用。構建一個動態庫用於發佈和靜態庫GTest
但要運行googletests,我需要創建一個靜態庫,那麼如何構建這兩種類型的文件?
是否有一個後期構建事件會創建一個庫和一個動態庫。
你會如何處理這兩種情況,(可能包括我的單元測試中的所有文件,而不是鏈接庫)?
建立與此設置測試
項目 - >屬性 - >配置屬性 - >常規 - >配置類型 - >靜態庫
此應用
項目 - >屬性 - >配置屬性 - >常規 - >配置類型 - >動態庫
當然可以,但我不想一直手動更改設置。 我更喜歡一些'自動化'的方式,否則我需要在使用第三方應用程序時始終禁用我的測試,這是我開發時間的大部分時間。 如果/當我記得更改配置類型時,我只會看到測試失敗。 不太實際。 –
我認爲這比使用複雜的make文件更實用。我相信你可以創建一個批處理腳本來切換配置,但切換這個屬性只需要很少的時間 –
創建2個項目。一個靜態庫和一個DLL讓它們都添加相同的源代碼。
也許有特殊的初始化代碼(DllMain)
爲什麼不使用持續集成系統在您提交時運行單元測試? –
不知道我遵循,如果該文件是動態庫DLL,那將如何幫助? 我需要在運行測試之前以某種方式更改配置,然後將其更改回來。 –
如果visual studio太難配置,您可以嘗試使用mingw並使用可配置的傳統makefile或任何其他傳統構建系統。然後使用jenkins,hudson,travis-ci,circle-ci等任何CI系統,並使用'make static test; 。/ test'或類似的。我認爲你應該可以通過命令行調用msvc,但是我從來沒有這樣做過,我不知道。 –