c++ crow入门填坑坑

看到介绍是类似Flask的就心动了
安装环境是Ubuntu 18;
官方上:https://github.com/ipkn/crow
写的安装总出这样那样的错,我是直接下载下来,将include下的crow/和crow.h放入/usr/local/include/下,能用就行哈哈哈。

g++版本

>> g++ (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0

它依赖boost库;先安装boost:

>> sudo apt-get install libboost-all-dev

看似都具备了,我试着编译helloworld的例子:

>> g++ -std=c++11 helloworld.cpp -o helloworld

开始报错一大堆:

节选了开头部分
/tmp/ccr4aqhz.o:在函数‘__static_initialization_and_destruction_0(int, int)’中:
helloworld.cpp:(.text+0x91c):对‘boost::system::generic_category()’未定义的引用
helloworld.cpp:(.text+0x928):对‘boost::system::generic_category()’未定义的引用
helloworld.cpp:(.text+0x934):对‘boost::system::system_category()’未定义的引用

查了一会原来是引用错误,要加后面的 -lboost_system -lboost_filesystem:

>> g++ -std=c++11 helloworld.cpp -o helloworld -lboost_system -lboost_filesystem

结果又报错:

/usr/bin/ld: /tmp/ccmIgsRQ.o: undefined reference to symbol 'pthread_sigmask@@GLIBC_2.2.5'
//lib/x86_64-linux-gnu/libpthread.so.0: 无法添加符号: DSO missing from command line
collect2: error: ld returned 1 exit status

又开始查,还要加个不知道为啥的东西:

>> g++ -std=c++11 helloworld.cpp -o helloworld -lboost_system -lboost_filesystem -L../boost/stage/lib -pthread

终于编译通过,运行程序:

>> ./helloworld 
(2020-05-03 16:52:01) [INFO    ] Crow/0.1 server is running at 0.0.0.0:18080 using 1 threads
(2020-05-03 16:52:01) [INFO    ] Call `app.loglevel(crow::LogLevel::Warning)` to hide Info level logs.

测试了一下,终于可以了,关于crow的东西网上不多,都是东拼西凑搞出来的。

>> curl http://localhost:18080
Hello world!
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值