2016-07-18 87 views
2

我使用谷歌測試幾乎在我的項目除MCU(STM32F1)固件的所有部分。現在我想直接在MCU上使用它進行測試,以確保我沒有發生任何與機器相關的錯誤,這些錯誤可能會在x64上通過測試,但在MCU上失敗。 Google測試需要libpthread,這在MCU上顯然不存在。我使用精密的gcc 5.2.1工具鏈,所以它的g++應該能夠建立谷歌測試。系統調用也被正確定義,所以測試輸出應該被成功編譯並打印到串行控制檯。谷歌測試裸機stm32 MCU

是否可以在Google測試中禁用libpthread並將其構建爲裸機微控制器?有沒有人有這種使用單元測試的經驗?

+1

谷歌測試有一個'gtest_disable_pthreads'標誌可以設置爲不使用pthreads。不知道這是否足以讓測試在MCU上運行。 – helloworld922

+0

嘗試使用'-DGTEST_HAS_PTHREAD = 0構建gtest – Mine

回答

2

從GTEST的文檔:

Linux的要求

這些都是基要求建立和從 源包使用谷歌測試(如下所述):

GNU-compatible Make or gmake 
POSIX-standard shell 
POSIX(-2) Regular Expressions (regex.h) 
A C++98-standard-compliant compiler 

pthread不是強制構建gtest。構建gtest時,您可以通過-DGTEST_HAS_PTHREAD=0禁用它。

因此,檢查您的環境,看看它是否符合要求(特別是對於regex.h)。