crow服务器搭建(c++轻量级服务器)

官网:https://crowcpp.org/master/getting_started/setup/linux/
这里说一下在构建crow时的注意事项:
主要难点是crow和asio库的适配,我喜欢使用独立的asio库,而非boost中的,所以自己在github上拉取了asio库,由于asio库是仅头文件库,所以不需要编译即可使用。
注意asio库的路径修改,我的asio库是直接放在crow项目目录下的。
在crow的CMakeLists.txt中加入这个独立asio库的头文件路径,具体如下:

if(CROW_USE_BOOST)
	if(POLICY CMP0167)
		# Use Boost CMake module from Boost instead of the one from CMake
		cmake_policy(SET CMP0167 NEW)
	endif()
	find_package(Boost 1.64 COMPONENTS system date_time REQUIRED)
	target_link_libraries(Crow
		INTERFACE
			Boost::boost Boost::system Boost::date_time
	)
	target_compile_definitions(Crow INTERFACE CROW_USE_BOOST)
else()
	target_include_directories(Crow
		INTERFACE
		$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/asio/asio/include>
		$<INSTALL_INTERFACE:include>
    # find_package(asio REQUIRED)
	# target_link_libraries(Crow
	# 	INTERFACE
	# 		asio::asio
	)
endif()

注释掉的地方是官方原有的,这里的asio库是仅头文件的,所以不需要链接库,提供头文件路径即可。
第二处要修改的地方是install。由于在使用make install时,如果不把asio也install过去,会导致build没有问题,但在正常编译自己的项目时,发生找不到asio库的问题,所以CMakeLists.txt加入如下:

	install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/asio/asio/include/
    	DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}

把CMakeLists.txt修改后,按照官方正常编译即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值