编译Crow框架示例crowtest.cpp失败,缺失asio.hpp文件求助
解决Crow框架编译时
asio.hpp: No such file or directory错误 问题原因
Crow框架依赖Asio库,它支持两种Asio版本:独立Asio库或Boost集成的Asio。你已经安装了Boost,但编译时未告知Crow使用Boost Asio,导致Crow默认尝试查找独立版Asio的头文件(asio.hpp),而该文件未安装,因此报错。
解决方案
方法1:使用已安装的Boost Asio编译
编译时添加宏定义-DCROW_USE_BOOST_ASIO,让Crow调用Boost中的Asio头文件(路径为<boost/asio.hpp>):
g++ crowtest.cpp -o crowtest -DCROW_USE_BOOST_ASIO
(注:通过apt install libboost-dev安装的Boost头文件位于系统默认包含路径,无需额外添加-I参数指定路径)
方法2:安装独立Asio库
如果你更倾向于使用独立版Asio,可通过以下命令安装:
sudo apt install libasio-dev
安装完成后,直接使用原编译命令即可:
g++ crowtest.cpp -o crowtest
验证
编译成功后,运行生成的可执行文件:
./crowtest
打开浏览器访问http://localhost:18080,即可看到"Hello world"页面。
内容的提问来源于stack exchange,提问作者user19899551
相关产品推荐
相关产品推荐

