研究gtest有一段時間了 主要是參照coderzh的《玩轉google開源c++單元測試框架google test系列》 來進行學習,但他的編譯環境是基於windows的,
所以有些地方還是很不一樣
。因此特意將自己的編譯過程記錄一下.
首先,將如下**寫入到命名為footest.cc的檔案中:
int foo(int a, int b)
int c = a % b;
if (c == 0)
return b;
return foo(b, c);
}
這裡所定義的是被測函式foo
下面是被命名為footest_unittest.cc的測試案例:
#include #include "footest.cc"
test(footest, handlenonezeroinput)
接下來就是與coderzh不同的地方了,linux下gtest用例的編譯:
第一步:
libtool --mode=compile gcc -g -o -c footest.cc
第二步:
libtool --mode=compile gcc -i ../include/ -g -o -c footest_unittest.cc
第三步:
libtool --mode=link gcc -g -o -o footest footest_unittest.o ../lib/libgtest_main.la -lm
這裡所有的步驟都是在gtest-1.6.0/samples目錄下執行的。
編譯成功生成footest程式,執行結果如下:
rony-nb@rony-nb:~/codes/gtest-1.6.0/samples$ ./footest
running main() from gtest_main.cc
[**********] running 1 test from 1 test case.
[----------] global test environment set-up.
[----------] 1 test from footest
[ run ] footest.handlenonezeroinput
[ ok ] footest.handlenonezeroinput (0 ms)
[----------] 1 test from footest (0 ms total)
[----------] global test environment tear-down
[**********] 1 test from 1 test case ran. (0 ms total)
[ passed ] 1 test.
linux(ubuntu)下 gtest編譯安裝
berry berry unzip googletest master.zip berry berry googletest master mkdir build berry berry googletest master build cmake looking for pthread create...
Picoc在Ubuntu下的編譯與執行測試
picoc是乙個非常小的c直譯器,可以用於多種系統,目前支援的系統常見的有x86和arm和stm32f103,在上面直接解釋c99 直譯器和編譯器的區別在於,直譯器將c按照指令碼翻譯成中間 進行處理,而編譯器則是編譯為完整檔案在記憶體中執行程式。picoc這個專案已經包括了能在stm32f103上執...
ACE在Linux下編譯安裝
ace版本 ace 5.6 安裝過程 設定環境變數 看使用者使用的是那種shell環境,我比較喜歡用csh的所以在.cshrc檔案中新增ace root環境變數 bash的在.bashrc裡配置 export mpc root ace root mpc export ld library path ...