《C++程式設計實踐與技巧:測試驅動開發》 環境搭建遇到的坑
在環境搭建時,遇到了一些資源的版本已經更新的問題,主要是 Google Mock,所以整理了搭建環境時與書本不同的修改。我使用的環境是 Ubuntu 16。
Google Mock
Google Mock 專案已經切換到 Github,網址為:https://github.com/google/googletest。
安裝過程
下載下來後檔案解壓路徑到: ~/Desktop/projects/googletest-release-1.8.0
cd ~/Desktop/projects/googletest-release-1.8.0
mkdir mybuild && cd mybuild
cmake ..
make
書的原始碼中需要用到 GoogleTest 的標頭檔案和庫,進入原始碼的code/c2/ 目錄,CMakeLists.txt 的內容為:
project(chapterFirstExample)
cmake_minimum_required(VERSION 2.6)
include_directories($ENV{GMOCK_HOME}/include $ENV{GMOCK_HOME}/gtest/include)
link_directories($ENV{GMOCK_HOME}/mybuild $ENV{GMOCK_HOME}/gtest/mybuild)
add_definitions(-std=c++0x)
set(CMAKE_CXX_FLAGS "${CMAXE_CXX_FLAGS} -Wall")
set(sources
main.cpp
SoundexTest.cpp)
add_executable(test ${sources})
target_link_libraries(test pthread)
target_link_libraries(test gmock)
target_link_libraries(test gtest)
由於 mybuild 路徑與 CMakeLists.txt 裡的需求不同,於是需要對編譯出來的 GoogleTest 重定向。執行如下。
cd ~/Desktop/projects/
mkdir googlemock && cd googlemock
ln -sf ~/Desktop/projects/googletest-release-1.8.0/googlemock/include/ include
ln -sf ~/Desktop/projects/googletest-release-1.8.0/mybuild/googlemock/ mybuild
mkdir gtest && cd gtest
ln -sf ~/Desktop/projects/googletest/include/ include
ln -sf ~/Desktop/project/googletest-release-1.8.0/mybuild/googlemock/gtest/ mybuild
libcurl
安裝 libcul 的時候可能會出現未找到 OPENSSL 的提示,可以執行如下操作。
sudo apt-get install libssl-dev
執行示例程式碼
由於程式碼裡提供的示例很多不全,暫時發現 code/c2/40 裡的專案可行的,進入到 code/c2/40 執行如下操作,就能看到結果。
mkdir build && cd build
cmake ..
make
./test
相關文章
- Eclipse + MinGW搭建C++開發環境踩坑EclipseC++開發環境
- Vagrant 搭建開發環境實踐開發環境
- Windows 下 Homestead 環境搭建遇到的坑Windows
- Web 滲透測試入門:環境搭建、流程與實踐Web
- 測試驅動開發在專案中的實踐
- 談談測試環境管理與實踐
- PCIE XDMA 開發環境搭建以及環路測試開發環境
- Ubuntu之C++開發環境的搭建UbuntuC++開發環境
- 搭建自動化測試環境
- Linux C++ 開發1 - 搭建C++開發環境LinuxC++開發環境
- 驅動開發:配置Visual Studio驅動開發環境開發環境
- Flutter入坑指南:開發環境搭建Flutter開發環境
- Flutter開發環境搭建-踩坑指南Flutter開發環境
- 如何快速搭建微服務開發測試環境微服務
- kubernetes實戰之consul簡單測試環境搭建及填坑
- Selenium+Python自動化測試環境搭建和搭建過程遇到的問題解Python
- 配置開發環境、生成環境、測試環境開發環境
- 微信小程式開發系列(一) :開發環境搭建和微信小程式的檢視設計與開發微信小程式開發環境
- 驅動篇——開發環境配置開發環境
- Laravel最佳實踐–事件驅動程式設計Laravel事件程式設計
- Laravel 最佳實踐 -- 事件驅動程式設計Laravel事件程式設計
- Laravel最佳實踐 -- 事件驅動程式設計Laravel事件程式設計
- 自動化測試 selenium 環境搭建
- vivo 全鏈路多版本開發測試環境落地實踐
- Vagrant homestead (laravel)開發環境搭建(填坑)Laravel開發環境
- C++入門(3):C++開發環境搭建C++開發環境
- android測試環境搭建Android
- 談“測試驅動的開發”
- cozmo 入坑日記及開發環境搭建開發環境
- 【Python程式設計從入門到實踐】 1 Linux搭建Python編譯環境Python程式設計Linux編譯
- 領域驅動設計(DDD)實踐之路(二):事件驅動與CQRS事件
- 程式設計技巧之-表驅動法程式設計
- googleoppiaPythonWeb程式設計執行環境搭建GoPythonWeb程式設計
- Windows核心程式設計(一)-環境搭建Windows程式設計
- Appium+Python實現iOS自動化測試~環境搭建APPPythoniOS
- linux環境程式設計(1): 實現一個單元測試框架Linux程式設計框架
- 新手搭建 kubernetes 測試環境
- kaldi環境搭建 | yesno 測試