01 centos7中cmake配置crow開發環境

一、搭建開發環境

1.1 c++開發環境

yum -y install gcc gcc-c++ gdb git

1.2 安裝crow所需依賴

yum install boost boost-devel
yum install openssl openssl-devel

1.3 安裝cmake_3.27.9

可以借鑒此安裝:https://blog.csdn.net/i_coding_/article/details/131883590

二、Crow和Asio

2.1 下載Crow

從Crow的github倉庫拉取倉庫,在源碼根目錄下找到include子目錄,其中包括了corw.h以及crow文件夾

2.2 下載Asio

Asio的官網是:http://think-async.com/Asio/,其發布版本放在了sourceforge:https://sourceforge.net/projects/asio/files/asio/,我使用的版本1.28.2,下載之后也是只有一個include目錄,目錄下包含了asio.hpp和asio文件夾。

三、測試項目搭建

3.1 項目目錄

創建crowTest項目:mkdir crowTest && cd crowTest

.
├── build
│   ├── CMakeCache.txt
│   ├── CMakeFiles
│   ├── cmake_install.cmake
│   ├── Makefile
│   └── server_manage
├── CMakeLists.txt
├── include
│   ├── asio
│   ├── asio.hpp
│   ├── crow
│   └── crow.h
└── main.cpp

include:我們將2.1下載的后include目錄中crow目錄和crow.h拷貝到項目include目錄中,以及2.2中的下載的后include目錄中asio目錄和asio.hpp拷貝到項目include目錄中

3.2 cmake配置

CMakeLists.txt:

cmake_minimum_required(VERSION 3.27)
project(crowTest)set(CMAKE_CXX_STANDARD 11)include_directories(${PROJECT_SOURCE_DIR}/include)add_executable(crowTest main.cpp)
target_link_libraries(crowTest pthread)

3.3 編譯項目

寫一個簡單的測試主程序:
main.cpp:

#include<iostream>
using namespace std;
#include "crow.h"int main(){crow::SimpleApp app; //define your crow application//define your endpoint at the root directoryCROW_ROUTE(app, "/")([](){return "Hello world";});//set the port, set the app to run on multiple threads, and run the appapp.port(8667).multithreaded().run();return 0;
}

進入bulid進行編譯:

cd build
cmake ..
make
./crowTest # 啟動項目

啟動成功顯示:

(2024-07-01 01:36:35) [INFO    ] Crow/master server is running at http://0.0.0.0:8667 using 4 threads
(2024-07-01 01:36:35) [INFO    ] Call `app.loglevel(crow::LogLevel::Warning)` to hide Info level logs.

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

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

相關文章

nginx的匹配及重定向

一、nginx的匹配&#xff1a; nginx中location的優先級和匹配方式&#xff1a; 1.精確匹配&#xff1a;location / 對字符串進行完全匹配&#xff0c;必須完全符合 2.正則匹配&#xff1a;location ^~ ^~ 前綴匹配&#xff0c;以什么為開頭 ~區分大小寫的匹配 ~* 不區分…

IDEA:插件和配置推薦(2024版)

文章目錄 一、插件1.1 主題1.2 代碼縮略圖1.3 Maven插件2.4 彩虹括號2.5 翻譯插件2.6 圖標插件2.7 MyBatis插件2.8 阿里巴巴開發規范 二、全局配置2.1 主題2.2 字符編碼2.3 注釋顏色2.4 自動導包2.5 鼠標控制界面大小 三、新項目設置3.1 Maven3.2 SDK 四、恢復初始化 一、插件 …

SpringBoot 多數據源配置

目錄 一. 引入maven依賴包 二. 配置yml 三、創建 xml 分組文件 四、切換數據源 一. 引入maven依賴包 <dependency><groupId>com.baomidou</groupId><artifactId>dynamic-datasource-spring-boot-starter</artifactId><version>3.6.1&…

【Linux】Linux用戶,用戶組,其他人

1.文件擁有者 初次接觸Linux的朋友大概會覺得很怪異&#xff0c;怎么“Linux有這么多用戶&#xff0c;還分什么用戶組&#xff0c;有什用呢&#xff1f;”&#xff0c;這個“用戶與用戶組”的功能可是相當健全而且好用的一個安全防護措施。 怎么說呢&#xff1f;由于Linux是個…

Redis數據結構—跳躍表skiplist

想象一下&#xff0c;你正在參加一場長跑比賽&#xff0c;跑道是一條直線&#xff0c;而且所有參賽者按照他們的號碼牌順序站好。現在&#xff0c;你的任務是從隊伍的一頭快速找到某個特定的參賽者。 如果跑道上只有你一個人在找人&#xff0c;你可能需要從頭開始&#xff0c;…

【C++】解決 C++ 語言報錯:Dangling Pointer

文章目錄 引言 懸掛指針&#xff08;Dangling Pointer&#xff09;是 C 編程中常見且危險的錯誤之一。當程序試圖訪問指向已釋放內存的指針時&#xff0c;就會發生懸掛指針錯誤。這種錯誤不僅會導致程序崩潰&#xff0c;還可能引發不可預測的行為和安全漏洞。本文將深入探討懸…

【計算機視覺系列實戰教程 (實戰01)】:圖像銳化操作(并手寫銳化操作)

文章目錄 前言1、什么是圖像銳化2、使用卷積對圖像進行銳化(1).圖像預處理(2).定義銳化卷積核(3).對圖像進行卷積操作&#xff08;實現圖像銳化&#xff09; 3、手動遍歷實現圖像銳化總結 前言 提示&#xff1a;本文主要通過手寫圖像銳化算法來理解圖像像素的遍歷&#xff1a;…

Pinia 使用方法,配合localStorage實現存儲用戶信息

什么是 Pinia Pinia 是 Vue.js 應用程序的一個現代化的狀態管理庫&#xff0c;它用于集中管理和共享組件之間的數據&#xff0c;state、getter、和 action 是構建狀態管理的核心概念&#xff0c;它們分別對應數據存儲、計算屬性和操作方法。 使用方法 安裝 npm install pin…

PDF內存如何變小,PDF內存壓縮,PDF內存變小怎么調整

在數字化時代&#xff0c;pdf已成為工作、學習和生活中不可或缺的文件格式。它以其跨平臺兼容性和安全性受到廣大用戶的喜愛。然而&#xff0c;隨著pdf文件中嵌入的圖片、圖形和文本內容的增多&#xff0c;文件大小往往會變得相當可觀&#xff0c;給文件的傳輸和存儲帶來一定的…

做外貿就要會聊天,100條英文話術大合集!下一個銷冠就是你

更多外貿干貨及開發客戶的方法&#xff0c;盡在微信【千千外貿干貨】 100條英文聊天話術大合集 1.節日問候 Hi Mark, Merry Christmas. Wish you and your family happy and healthy. 2.假期問候 Tomorrow is our holiday, I will go to seaside, what’s your idea of your…

Spring Cloud 概述

目錄 ?編輯一、認識微服務 1、單體架構 2、集群和分布式架構 3、微服務架構 二、Spring Cloud 1、什么是 Spring Cloud 2、Spring Cloud 版本 3、Spring Cloud 的實現方案 Spring Cloud Netflix ?編輯Spring Cloud Alibaba 一、認識微服務 1、單體架構 很多創業公…

【開發筆記】如何用正則匹配出百度云盤分享鏈接的提取碼和鏈接?

用Wordpress做下載站&#xff0c;需要復制網盤鏈接到后臺的文章發布自定義字段&#xff0c;然后我不想每次手動拆分鏈接和提取碼分別到兩個input&#xff0c;就想在后臺粘帖時候實現拆分它。 $link 鏈接&#xff1a;https://pan.baidu.com/s/16y9Z5mTSE6gewStGDNndNQ 提取碼…

【STM32】在標準庫中使用DMA

1.MDA簡介 DMA全稱Direct Memory Access,直接存儲區訪問。 DMA傳輸將數據從一個地址空間復制到另一個地址空間。當CPU初始化這個傳輸動作&#xff0c;傳輸動作本身是由DMA控制器來實現和完成的。DMA傳輸方式無需CPU直接控制傳輸&#xff0c;也沒有中斷處理方式那樣保留現場和…

融云上線 HarmonyOS NEXT 版 SDK,全面適配「純血鴻蒙」生態

6 月 21 日&#xff0c;“2024 華為開發者大會”正式發布使用自研內核的原生鴻蒙系統 HarmonyOS NEXT&#xff0c;即 “純血鴻蒙”。 同時&#xff0c;華為宣布開放“鴻蒙生態伙伴 SDK 市場”&#xff0c;甄選各類優質、安全的 SDK 加入聚合平臺&#xff0c;助力各行業開發者輕…

Oracle如何切換temp表空間以及需要注意的點

Oracle如何切換temp表空間以及需要注意的點 昨天有套庫報/u01的磁盤90%使用率報警了&#xff0c;無法通過LVM在原盤基礎上擴容&#xff0c;計劃新增加磁盤并將能在線遷移的相關數據庫文件遷移走。 其中&#xff0c;對于temp表空間的處理&#xff0c;我采取的方法實際和undo差不…

【linux】網絡基礎(3)——tcp協議

文章目錄 TCP協議概括TCP頭部格式TCP連接管理建立連接&#xff08;三次握手&#xff09;數據傳輸確認應答機制捎帶應答 滑動窗口丟包問題 擁塞控制延時應達 終止連接&#xff08;四次揮手&#xff09; TCP協議概括 TCP是一個面向連接的協議&#xff0c;在傳輸數據之前需要建立連…

醫療器械進銷存軟件 專業合規的醫療公司器械出入庫管理軟件

財務管理&#xff1a;財務檔案統一管理&#xff0c;有利于科學管理企業資金 財務管理&#xff1a;發票關聯業務單據&#xff0c;業財融合&#xff0c;加速財務數字化轉型 財務管理&#xff1a;提供收付款功能&#xff0c;加快企業應收賬款的回收&#xff0c;降低付款的資金浮…

小白輕松使用maven

一、maven 下載 下載地址 maven 下載官方地址 https://maven.apache.org/download.cgi&#xff0c;黃色壓縮包。 2. 下載解壓 cmd 解壓命令 tar -zxvf apache-maven-3.9.8-bin.tar.gz二、maven 配置 settings.xml 文件配置 鏡像配置&#xff1a; 國內鏡像配置用于下載資源…

《操作系統真象還原》學習筆記:第1章 部署工作環境

**提示&#xff1a;**這篇文章是根據學長提供的教程《操作系統真象還原》第一章 部署工作環境來完成的&#xff0c;我按照學長給的教程一步一步做下來&#xff0c;再結合《操作系統真象還原》這本書&#xff0c;對實驗環境進行了配置。以下是我按照教程進行搭建的記錄&#xff…