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!

你可能感兴趣的:(笔记)