我遇到了chdir和freopen類似的問題。
我只會發布我採取的步驟,讓googletest與VS2015和Clang一起運行。
這將安裝最新的鐺的版本(在撰寫V3.9的時間)。請注意,這是一個快照構建,而不是正式版本。
如果你不喜歡快照構建,也許嘗試最新的發行版本。我沒有測試它。我只想擁有最新的工具,特別是當他們像LLVM/Clang一樣快節奏時。
- 安裝完成後,您應該可以在Visual Studio項目屬性中獲取條目。
Properties
- >General
- >Platform Tools
- >LLVM-vs2014
(及以上) (切換到LLVM-vs2014
)
我知道你所要求的3.7鏘與微軟的CodeGen。你必須自己決定。
另外,我不喜歡對我沒有寫或不知道的代碼應用一些修正/更改。由於這對我來說很好,我沒有進一步調查這個問題。
此時它可能已經適用於您。接下來的步驟描述瞭如何構建googletest庫並將include目錄添加到項目中。
From the llvm documentation
(no link because not enough reputation: clang.llvm.org/docs/MSVCCompatibility.html):
First, Clang attempts to be ABI-compatible, meaning that Clang-compiled code should be able to link against MSVC-compiled code successfully.
哪裏源代碼:(例如C:\libs\googletest\googletest
)
(因爲頂部目錄中也有googlemock)
構建二進制文件的位置:(例如, C:\libs\googletest\build
)
- 取消選中:
BUILD_SHARED_LIBS
(如果你想建立共享庫) CMAKE_CONFIGURATION_TYPES
:調試和發佈(選擇別人,如果你喜歡)
記住或變化:CMAKE_INSTALL_PREFIX
(前C:\libs\googletest\install
)
Python 2.7被cmake發現,即使我很確定它沒有必要。
按配置並生成。
生成解決方案文件後,轉到上述 指定的目錄(其中建二進制文件,恩。C:\libs\googletest\build
)和開解gtest.sln。
選擇調試解決方案配置並右鍵單擊ALL_BUILD和Build。 完成後,右鍵單擊INSTALL和Build。這將創建前面指定的文件夾。
CMAKE_INSTALL_PREFIX
(前。C:\libs\googletest\install
)在那裏 你可能要更改庫的名稱,並添加* d.lib從覆蓋和標誌,這是調試版本的文件保存的。
重複發佈解決方案配置的步驟。 在CMAKE_INSTALL_PREFIX
(例如C:\libs\googletest\install
)中,您應該找到一個包含目錄和一個lib目錄。
在您的項目屬性 - > VC++目錄下添加包含目錄。 CMAKE_INSTALL_PREFIX<b>\include</b>
(前C:\libs\googletest\install<b>\include</b>
)
在根據屬性項目 - > VC++目錄添加庫目錄。 CMAKE_INSTALL_PREFIX \ lib中:
和下Properties
- >Linker
- >Input
- >Additional Dependencies
(gtest.lib/gtestd.lib取決於(例C \庫\ googletest \安裝\ lib中。)你的配置)
之後,我能夠建立和運行我的測試。
對不起,遲到的瘋狂迴應。我現在剛剛回到這個問題後,從我的項目中斷了很長時間,我毫不猶豫地將此標記爲公認的答案,因爲我試圖讓gtest與VS2015的內置叮噹聲工具箱一起工作。我確信我可以切換到LLVM快照構建,並讓它編譯正常,如果一切都失敗了,我可以這樣做。 (在這種情況下,我會將這個答案標記爲正確的。) – WhittlesJr