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!
标签:坑坑,lboost,crow,system,helloworld,c++,cpp,boost 来源: https://blog.csdn.net/qq_21567767/article/details/105911906