其它平台編譯操作
git clone
mkdir build
cd build
cmake.exe -g "mingw makefiles" path\to\googletest
cd path\to\googletest
mingw32-make -j 8
參考
cmake指定mingw編譯器的方法
新建乙個mytest檔案目錄,將原始檔的include,以及build目錄下編譯好的lib檔案分別拷貝到新建的lib和include目錄下
mkdir mytest
cd mytest
mkdir lib
mkdir include
cp -rf path\to\googletest\googletest\include\* include
新建乙個mytest.cpp
#include
#include
using
namespace std;
intadd
(int a,
int b)
test
(testcase,test0)
intmain
(int argc,
char
**ar**)
執行mytest測試
g++ mytest.cpp -o mytest -i./include -l./lib -lgtest -std = c++11
執行mytest.exe
$ ./mytest.exe
d:/projects/buildgoogletest/mytest/mytest.exe: error while loading shared libraries: libgtest.dll: cannot open shared object file: no such file or directory
提示缺失dll等檔案,還要將path\build\bin目錄下所有dll拷貝到mytest目錄下,mytest目錄結構如下:
為什麼會提示缺失dll等檔案?c++:lib和dll的區別與使用
再次執行./mytest.exe就顯示測試用例的結果
有關更多googletest用法介紹,可參閱include標頭檔案gtest/gtest.h,深入理解gtest c/c++單元測試經驗談 參考
cmake構建時指定編譯器架構(x86 or x64)
mkdir build
cd build
cmake -g 「visual studio 16 2019」 path\to\googletest
windows vs2019 x64編譯器為例,cmake命令如下:
cmake -g "visual studio 16 2019" path\to\googletest
如果是其它編譯版本,不是visual studio 16 2019
去掉win64,就是32bit:
cmake -g "visual studio 15" path\to\googletest
另外一種等價方式,用命令列引數-a來指定架構(x64或者arm):
cmake -a x64 path\to\googletest
更多參考:
windows下如果用了cmake -g "visual studio 15"
命令,則cmake會給你生成visual studio工程檔案相關的檔案,比如:project.sln,這時要編譯生成必須用msbuild命令,比如:
msbuild project.sln
完整步驟是:
cmake -g "visual studio 15 win64" path\to\googletest
msbuild project.sln
windows還提供了一種構建命令:nmake
使用命令如下:
cmake -g "nmake makefiles" path\to\googletest
nmake /f makefile.nmake
如果要為nmake指定x64/x86,還不清楚cmake有沒相關引數設定,目前我知道的方法如下,
以vs2019為例,開啟cmd,定位到microsoft visual studio 16.0\vc\目錄下,然後執行命令:
vcvars64.bat
如果要32位,就執行:vcvarsamd64_x86.bat。
執行完後再跳轉到要構建的工程目錄下,接著執行
cmake -g "nmake makefiles" path\to\googletest
以及
nmake /f makefile.nmake 或者 nmake
這樣生成出來的程式就是x86或者x64版本,但是要分別執行不同終端才可以。
cmake構建時指定編譯器架構(x86 or x64)
設定cflags(或者cxxflags)為-m32或者-m64,例如:
export cflags=-m32
32 bit
cmake -dcmake_osx_architectures=i386 path\to\googletest
64 bit
cmake -dcmake_osx_architectures=x86_64 path\to\googletest
96-bit universal
cmake "-dcmake_osx_architectures=x86_64;i386" path\to\googletest
參考: Google Test單元測試使用
google開源了很多實用的模組,比如google gtest google gmock google glog google gflags google ctemplate google sparsehash protobuf perftools,gtest是c 的測試模組,提供豐富的測試方法 軟...
Qt使用Google Test 單元測試
場景 對qt程式測試 說明 google test環境搭建,看我部落格 google test 的使用,這裡不再重複說明。實現步驟 1 新增qt庫目錄,在qt的安裝目錄,我安裝的是在盤c下 專案屬性 c c 常規 附加包含目錄 新增路徑 c qt include c qt include qt c ...
用googletest寫單元測試
reference 對於稍微複雜些的測試用例,例如需要共享資料 class chashtabletest public testing test virtual void setup virtual void teardown chashtable ht string key1 string key...