linux c++11 gcc4 環境編譯安裝googletest/gtest v1.10

c++11對應googletest/gtest

經過測試,c++11對應版本是googletest v1.10.x

編譯安裝

編譯環境

sudo apt-get update
sudo apt-get install -y build-essential cmake

下載或git clone代碼

git clone https://github.com/google/googletest.git
cd googletest
git checkout tags/v1.10.x  # 切換版本,我本地是在頁面下載

編譯安裝googletest

cd googletest
mkdir build && cd build
cmake .. //默認release版本
cmake -DCMAKE_BUILD_TYPE=Debug .. //(可選)debug版本可以與release版本共存
cmake -DCMAKE_INSTALL_PREFIX=../gtest .. //(可選)指定安裝目錄
make
sudo make install
sudo make install DESTDIR=../gtest  //(可選)指定安裝目錄

使用googletest

CMakeLists.txt

cmake_minimum_required(VERSION 3.10)
project(MyTest)# 設置 C++ 標準
set(CMAKE_CXX_STANDARD 11)# 手動指定 Google Test 的頭文件和庫路徑
include_directories(./gtest/include)       # 頭文件路徑
link_directories(./gtest/lib)               # 庫文件路徑# 添加可執行文件
add_executable(my_test main.cpp)# 鏈接 Google Test 庫和 pthread(因為 GTest 依賴 pthread)
target_link_libraries(my_test gtest.a gtest_main.a pthread)# 如果需要動態庫(.so),取消注釋以下行:
# target_link_libraries(my_test gtest.so gtest_main.so pthread)# 強制指定運行時庫路徑(動態庫需要此配置)
# target_link_options(my_test PRIVATE "-Wl,-rpath,./gtest/lib")

main.cpp

#include <gtest/gtest.h>// 要測試的函數(示例)
int add(int a, int b) {return a + b;
}// 測試用例
TEST(AddTest, PositiveNumbers) {EXPECT_EQ(add(2, 3), 5);EXPECT_GT(add(3, 2), 4);
}// 主函數(Google Test 需要此入口)
int main(int argc, char ?**argv) {::testing::InitGoogleTest(&argc, argv);return RUN_ALL_TESTS();
}

編譯運行my_test

mkdir build && cd build
cmake ..
make
./my_test

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/897198.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/897198.shtml
英文地址,請注明出處:http://en.pswp.cn/news/897198.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

鴻蒙與DeepSeek深度整合:構建下一代智能操作系統生態

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到網站。 https://www.captainbed.cn/north 目錄 技術融合背景與價值鴻蒙分布式架構解析DeepSeek技術體系剖析核心整合架構設計智能調度系統實現…

極狐GitLab 17.9 正式發布,40+ DevSecOps 重點功能解讀【二】

GitLab 是一個全球知名的一體化 DevOps 平臺&#xff0c;很多人都通過私有化部署 GitLab 來進行源代碼托管。極狐GitLab 是 GitLab 在中國的發行版&#xff0c;專門為中國程序員服務。可以一鍵式部署極狐GitLab。 學習極狐GitLab 的相關資料&#xff1a; 極狐GitLab 官網極狐…

LeetCode - 28 找出字符串中第一個匹配項的下標

題目來源 28. 找出字符串中第一個匹配項的下標 - 力扣&#xff08;LeetCode&#xff09; 題目解析 暴力解法 本題如果采用暴力解法的話&#xff0c;可以定義兩個指針 i&#xff0c;j&#xff0c;其中 i 指針用于掃描 S&#xff08;haystack&#xff09;串&#xff0c;j 指針…

Spring Boot 異步編程

文章目錄 一、異步方法的使用1. 開啟異步支持2. 定義異步方法3. 調用異步方法踩坑記錄心得體會 二、線程池配置1. 自定義線程池2. 使用自定義線程池踩坑記錄心得體會 三、異步任務的監控與管理1. 日志記錄2. 異常處理3. 線程池監控踩坑記錄心得體會 在現代應用程序開發中&#…

0.大模型開發知識點需求綜述

文章目錄 一、機器學習與深度學習基礎二、自然語言處理&#xff08;NLP&#xff09;基礎三、大模型架構四、訓練優化技術五、數據處理與預處理六、分布式訓練與并行化策略七、微調方法與參數高效微調八、訓練框架、工具與自動化流程九、評估與部署十、前沿技術與未來趨勢 已更新…

docker目錄掛載與卷映射的區別

在 Docker 中&#xff0c;目錄掛載&#xff08;Bind Mount&#xff09;和卷映射&#xff08;Volume Mount&#xff09;的命令語法差異主要體現在路徑格式上&#xff0c;具體表現為是否以斜杠&#xff08;/&#xff09;開頭。以下是兩者的核心區別及使用場景的總結&#xff1a; …

[Java基礎-線程篇]7_線程設計模式與總結

摘要&#xff1a;懶漢單例模式怎么變得線程安全&#xff1f;Master-Worker歸并模式&#xff0c;工作竊取算法。Java線程相關源碼使用了什么設計模式&#xff1f; 資料引用&#xff1a;《Java高并發核心編程卷2》 目錄 線程安全的單例模式 Master-Worker模式 工作竊取算法 …

在【k8s】中部署Jenkins的實踐指南

&#x1f407;明明跟你說過&#xff1a;個人主頁 &#x1f3c5;個人專欄&#xff1a;《Kubernetes航線圖&#xff1a;從船長到K8s掌舵者》 &#x1f3c5; &#x1f516;行路有良友&#xff0c;便是天堂&#x1f516; 目錄 一、引言 1、Jenkins簡介 2、k8s簡介 3、什么在…

代碼隨想錄算法營Day59 | 尋找存在的路徑, 冗余連接,冗余連接II

尋找存在的路徑 這題使用并查集即可。并查集加路徑壓縮。 #include <iostream> using namespace std; int find(int* father,int u){return father[u] u ? u : father[u] find(father,father[u]); }bool isSame(int* father,int u,int v){return find(father,u) fi…

正則表達式(2)匹配規則

正則表達式的匹配規則定義了如何識別字符串中的特定模式。這些規則包括字符類匹配、元字符匹配、數量詞、字符轉義和分組。 字符類匹配 字符類匹配允許你指定一個字符集合&#xff0c;并匹配該集合中的任意單個字符。這是通過方括號 [] 來實現的。 簡單字符類&#xff1a;[abc…

【QWEN】機器人控制器的控制周期越短精度越高嗎

好的&#xff0c;用戶問的是“機器人控制器的控制周期越短精度越高嗎”。我需要根據提供的知識庫內容來回答這個問題。首先&#xff0c;我得回憶一下知識庫里的相關信息。 知識庫里有幾篇相關的文章。比如&#xff0c;[3]提到控制周期越短&#xff0c;控制性能的上限越高&…

[總概]Vue2/3React Diff算法

根據搜索結果,大部分文檔都詳細描述了Vue的Diff算法原理、優化策略以及實現細節。例如,網頁1詳細介紹了Vue Diff算法的核心設計,包括雙端比較和key的作用;Vue3中的快速Diff算法; 通常,解釋一個算法可以從其基本原理、核心策略、優化手段、源碼實現以及應用場景等方面展開…

【MySQL_03】數據庫基本--核心概念

文章目錄 一、數據庫基礎1.1 數據庫基礎定義1.2 數據庫分類與典型產品1.3 數據庫模型1.4 數據庫層次結構1.5 數據庫核心機制1.6 數據表和視圖1.61 數據表&#xff08;Table&#xff09;1.62 視圖&#xff08;View&#xff09; 1.7 鍵類型1.8 MySQL數據類型1.9 數據庫范式化 二、…

FreeRTOS第16篇:FreeRTOS鏈表實現細節04_為什么FreeRTOS選擇“侵入式鏈表”

文/指尖動聽知識庫-星愿 文章為付費內容,商業行為,禁止私自轉載及抄襲,違者必究!!! 文章專欄:深入FreeRTOS內核:從原理到實戰的嵌入式開發指南 1 傳統鏈表 vs. 侵入式鏈表 在嵌入式系統中,內存和性能的優化至關重要。FreeRTOS選擇侵入式鏈表而非傳統鏈表,其背后是內…

STM32讀寫片內FLASH 筆記

文章目錄 前言STM32F105的內部ROM分布STM32F10x的閃存擦寫解鎖FPECMain FLASH 的編寫 main Flash的擦除注意點 前言 在通過OTA的方式對設備進行升級&#xff0c;若在使用內部FLASH裝載固件程序的方式下&#xff0c;需要擦寫 內部FLASH 從而實現把新的固件程序寫入到 內部FLASH…

Python爬蟲實戰:爬取財金網實時財經信息

注意:以下內容僅供技術研究,請遵守目標網站的robots.txt規定,控制請求頻率避免對目標服務器造成過大壓力! 一、引言 在當今數字化時代,互聯網數據呈爆炸式增長,其中蘊含著巨大的商業價值、研究價值和社會價值。從金融市場動態分析到行業趨勢研究,從輿情監測到學術信息收…

3.3.2 用仿真圖實現點燈效果

文章目錄 文章介紹Keil生成.hex代碼Proteus仿真圖中導入.hex代碼文件開始仿真 文章介紹 點燈之前需要準備好仿真圖keil代碼 仿真圖參考前文&#xff1a;3.3.2 Proteus第一個仿真圖 keil安裝參考前文&#xff1a;3.1.2 Keil4安裝教程 keil新建第一個項目參考前文&#xff1a;3.1…

996引擎-問題處理:實現自定義道具變身卡

996引擎-問題處理:實現自定義道具變身卡 方案一、修改角色外觀(武器、衣服、特效) 實現變身先看效果創建個NPC測試效果方案二、利用 Buff 實現變身創建:變身Buff配buff表,實現人物變形測試NPC創建道具:變身卡配item表,添加道具:變身卡觸發函數參考資料方案一、修改角色外…

AI視頻領域的DeepSeek—阿里萬相2.1圖生視頻

讓我們一同深入探索萬相 2.1 &#xff0c;本文不僅介紹其文生圖和文生視頻的使用秘籍&#xff0c;還將手把手教你如何利用它實現圖生視頻。 如下為生成的視頻效果&#xff08;我錄制的GIF動圖&#xff09; 如下為輸入的圖片 目錄 1.阿里巴巴全面開源旗下視頻生成模型萬相2.1模…

驅動 AI 邊緣計算新時代!高性能 i.MX 95 應用平臺引領未來

智慧浪潮崛起&#xff1a;AI與邊緣計算的時代 正悄然深植于我們的日常生活之中&#xff0c;無論是火熱的 ChatGPT 與 DeepSeek 語言模型&#xff0c;亦或是 Meta 智能眼鏡&#xff0c;AI 技術已經無形地影響著我們的生活。這股變革浪潮并未停歇&#xff0c;而是進一步催生了更高…