oatpp安装和基础使用注意
下载
git clone git@github.com:oatpp/oatpp.git cd oatpp mkdir build cd build cmake ..
|
安装
在build
下以管理员身份打开powershell/cmd,运行
cmake --build . --target INSTALL
|
使用
附加包含目录
在vs中附加包含目录C:\Program Files %28x86%29\oatpp\include\oatpp-1.3.0\oatpp
附加库目录
在vs中附加库目录C:\Program Files %28x86%29\oatpp\lib\oatpp-1.3.0
附加依赖项
不要忘了网络库。
测试
handler.h
#ifndef HANDLER_H #define HANDLER_H
#include "oatpp/web/server/HttpRequestHandler.hpp"
#define O_UNUSED(x) (void)x;
class Handler : public oatpp::web::server::HttpRequestHandler { public: std::shared_ptr<OutgoingResponse> handle(const std::shared_ptr<IncomingRequest>& request) override { O_UNUSED(request);
return ResponseFactory::createResponse(Status::CODE_200, "Hello, World!"); } };
#endif
|
main.cpp
#include "oatpp/web/server/HttpConnectionHandler.hpp" #include "oatpp/network/tcp/server/ConnectionProvider.hpp" #include "oatpp/network/Server.hpp" #include "handler.h"
void run() { auto router = oatpp::web::server::HttpRouter::createShared();
router->route("GET", "/hello", std::make_shared<Handler>());
auto connectionHandler = oatpp::web::server::HttpConnectionHandler::createShared(router);
auto connectionProvider = oatpp::network::tcp::server::ConnectionProvider::createShared({ "0.0.0.0", 8080, oatpp::network::Address::IP_4 });
oatpp::network::Server server(connectionProvider, connectionHandler);
OATPP_LOGI("MyApp", "Server running on port %s", connectionProvider->getProperty("port").getData());
server.run(); }
int main() { oatpp::base::Environment::init();
run();
oatpp::base::Environment::destroy();
return 0; }
|