2020年11月23日23:26:05
c++高性能web框架drogon入門教程一 linux環境搭建和demo運行
c++高性能web框架drogon入門教程二 windows10下安裝drogon,配合vscoede搭建開發環境
c++高性能web框架drogon入門教程三 控制器和數據庫客戶端使用
c++高性能web框架drogon入門教程四 orm使用,csp使用
c++高性能web框架drogon入門教程五 實例小項目,web和api實例代碼
之前一直在centos8下學習和使用drogon,但是實在是有點不習慣,最后還是堅持回到windows開發 以下步驟,請按照順序操作,因為windows下開發c++本來就不是特別好 默認安裝在d盤,D:\cpp 工具powershell,不是cmd 注意windows新加入環境變量需要重新打開powershell,不然找不到工具
先安裝好vs studio,y因為里面有部分編譯工具 1,安裝cmake 官網 https://cmake.org/download/ 下載新版本的msi,cmake-3.19.0-win64-x64.msi 直接安裝,注意:選擇add cmake to the system path for all users 勾選 create cmake desktop icon 注意:cmake是現在來說是一個很重要的知識點,特別是對剛入門c++的同學 2,安裝vcpkg 先安裝好git,不贅述 git clone https://github.com/Microsoft/vcpkg.git cd vcpkg bootstrap-vcpkg.bat vcpkg integrate install 會告訴你編譯的時候使用vcpkg的工具鏈 -DCMAKE_TOOLCHAIN_FILE=D:/cpp/vcpkg/scripts/buildsystems/vcpkg.cmake 添加環境變量,你添加到系統變量,或者administrator的用戶變量都可以 VCPKG_DEFAULT_TRIPLET x64-windows 在Path里面添加 D:\cpp\vcpkg 3,安裝drogon 注意:這個需要開啟vpn,但是有很多工具需要下載,建議自己手動下載那些工具,使用迅雷,丟到downloads里面再次執行下面的語句 vcpkg.exe install drogon:x64-windows 這個過程需要執行很多次,請單獨保存下載下來的文件,因為可能需要多次嘗試 下載完成之后在Path添加 D:\cpp\vcpkg\installed\x64-windows\tools\drogon 這個是drogon_ctl工具 4,生成項目,引入drogon源碼包 在D:\cpp drogon_ctl create project web 項目名是web 我這邊建議吧源碼包引入第三方源碼包,這樣方便追蹤源碼 在CMakeLists.txt里面25行左右添加 add_subdirectory(third_party/drogon) target_link_libraries(${PROJECT_NAME} PRIVATE drogon)
mkdir third_party cd third_party git clone https://github.com/an-tao/drogon cd drogon git submodule update --init mkdir build cd build cmake cmake -DCMAKE_TOOLCHAIN_FILE=D:/cpp/vcpkg/scripts/buildsystems/vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-windows .. 如果通過就ok了,但是很多時候會出現找不到依賴包,反復嘗試,我這里都是使用64位包,和編譯成64位 如果出現錯誤注意一下幾點,
1,環境變量是否加入
2,忘記初始化third_party的源碼包
3,cmake的注意刪除build下的CMakeCache.txt再次cmake 4,vs studio沒有設置成中文
5,可以加入官方群尋求幫助 https://github.com/an-tao/drogon/blob/master/README.zh-CN.md 這里有官方的qq群 5,測試cmake和vscode搭建編譯環境 在D:\cpp\web\build 測試一下 cmake cmake -DCMAKE_TOOLCHAIN_FILE=D:/cpp/vcpkg/scripts/buildsystems/vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-windows .. 測試通過就使用vscode打開web cmake --no-warn-unused-cli -DCMAKE_EXPORT_COMPILE_COMMANDS:BOOL=TRUE -DCMAKE_TOOLCHAIN_FILE=D:/cpp/vcpkg/scripts/buildsystems/vcpkg.cmake
-Hd:/cpp/web -Bd:/cpp/web/build -G "Visual Studio 16 2019" -T host=x64 -A x64 .. 在vscode添加一下插件 搜索c++和cmake 安裝以下幾個插件 c/c++ C++ Intellisense cmake cmake tools 然后你的vscode會彈出幾個對話框全部選是,包換的有自定配置項目,生成對應的vs c++編譯配置文件 vscode左側欄目會出現一個cmake的新圖標,點開,點擊上面的builde all projects 等一會會出現三組選項,web就是你的項目,鼠標移上去點擊build,如果不成功注意,刪除build下的CMakeCache.txt再次嘗試 你就會在build文件下 D:\cpp\web\build\Debug\web.exe 這個就是你需要運行的文件web.exe 注意1,有些推薦使用clang 或者mingw,make的時候會報錯,可能是我項目生成的是64位的,使用這兩個工具配置起來更麻煩,直接使用vscode的插件,這樣更加容易一點
注意2,你先cmake之后vscode才能生成對應的build 6,其實第4步的時候,也可以使用vs studio,里面有web.sln 這個看個人習慣,但是不知道為什么我在使用vs code的時候,會出現每次build緩存無法清除,需要重新cmake才行,很消耗時間,所以才使用vscode編譯
7,cmake -G 查看Makefile的版本
我的vs是 Visual Studio 16 2019
默認是編譯debug版本,如果想編譯release版本,
cmake命令要帶如下參數: cmake -DCMAKE_BUILD_TYPE=Release ..
8,vs studio編譯命令
Command line: "cmd.exe" /c "%SYSTEMROOT%\System32\chcp.com 65001 >NUL && "C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO\2019\COMMUNITY\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\CMake\bin\cmake.exe" -G "Ninja" -DCMAKE_BUILD_TYPE:STRING="Debug" -DCMAKE_INSTALL_PREFIX:PATH="D:\cpp\web\out\install\x64-Debug (default)" -DCMAKE_CXX_COMPILER:FILEPATH="C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.28.29333/bin/Hostx64/x64/cl.exe" -DCMAKE_MAKE_PROGRAM="C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO\2019\COMMUNITY\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\Ninja\ninja.exe" -DCMAKE_TOOLCHAIN_FILE="D:/cpp/vcpkg/scripts/buildsystems/vcpkg.cmake" "D:\cpp\web" 2>&1"
9,