前言
在家休息,因为后面就不能在家办公了,国庆后,就没去公司上几天班,基本都是在家办公的,一时心血来潮,继续尝试Drogon,一直想的学C++,几次学了点语法,就没有继续,这次决定想将Blog改为从Asp.Net Core改为Drgoon实现.
vcpkg更新(已经安装过)
vcpkg更新前,先去拉取最新的源,这个就不多说了.
.\vcpkg.exe update
.\vcpkg.exe upgrade
.\vcpkg.exe upgrade --no-dry-run
安装drogon
可以通过search查找项目是否存在
vcpkg search drogon
可以看到drogon是存在的,并且有选择的安装所需要的功能.下面开始安装:
vcpkg install drogon[ctl,sqlite3,orm,redis]:x64-windows
通过list,查找已经安装的软件包:
vcpkg list
通过drogon_ctl创建项目
drogon_ctl create project cppweb
使用VS以打开文件的方式,找到cppweb所在的文件路径,并打开.
在CMake设置中,找到CMake工具链:
使用VS开发者命令行(这一个不是必须,如果你的CMake单独安装,并配置的环境变量,这个是不需要的),进入cppweb所在目录,查看是否有build目录并进入,使用以下命令:
cmake .. -G "Visual Studio 17 2022" -DCMAKE_TOOLCHAIN_FILE=F:/gitcode/vcpkg/scripts/buildsystems/vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-windows
在build目录查看生成的项目解决文件:
后面就是用VS打开生成的解决方案文件了.
#include <drogon/drogon.h>
using namespace std;
using namespace drogon;
int main() {
app().addListener("0.0.0.0", 80);
app().registerHandler("/hello?username={name}", [](const HttpRequestPtr& req,
std::function<void(const HttpResponsePtr&)>&& callback,
const string& name) {
Json::Value json;
json["result"] = "ok";
json["message"] = string("hello,") + name;
auto resp = HttpResponse::newHttpJsonResponse(json);
callback(resp);
}, { Get,"LoginFilter" });
app().run();
return 0;
}
在浏览器输入 http://localhost/hello?username=tom ,看一下运行的结果: