当前位置: 首页 > 工具软件 > Cinatra > 使用案例 >

编译成功cinatra的一个示例.

桑睿识
2023-12-01

参考地址在此
复制的第一个.编译时先说没有定义winnt,然后就像下面一样定义一个winnt
然后说找不到libboost_date_time-vc141-mt-s-x32-1_71.lib库.原来我原来在此编译的boost缺少runtime-link=static,所以只78个库,补上后有101个库了.
再编译,又出现filesystem相关函数没有链接.
于是我把这个库相应头文件导入filesystem的都改了.这个名字空间要用实验性的.
正式的,我目前的vs2017不支持.现在不想升级,再等等,等支持c++20了再来升级.
这样改几个导入,都改成:

#include <filesystem>
namespace fs = std::experimental::filesystem;

再编译.生成成功了.居然只800kb.再用127.0.0.1:8080访问,成功.
c++真是爽啊.还有这个boost.只需要将include加入路径,再将libpath加入编译选项中就可以了.
最新的boost真的可以多去研究一下.
还有还要链接上ole32.lib文件.

#define _WIN32_WINNT 0x0601
//#include <filesystem>
//namespace fs=std::experimental::filesystem;
#include "cinatra.hpp"
using namespace cinatra;

int main() {
	int max_thread_num = std::thread::hardware_concurrency();
	http_server server(max_thread_num);
	server.listen("0.0.0.0", "8080");
	server.set_http_handler<GET, POST>("/", [](request& req, response& res) {
		res.set_status_and_content(status_type::ok, "hello world");
	});

	server.run();
	return 0;
}

可以参考以下:
cinatra主页
服务器比拼
客户端使用例子
配合qt显示进度
asio连续异步发送
rest_rpc用法
rest开始

 类似资料: