websocketpp即websocket++,号称只要包含几个头文件,就可以用C++构建websocket server,我的编译器是visual studiao 2017。折腾半天,编译都通不过,经过摸索,发现需要做几个关键设置。下面说明编译项目所带的例子程序的完整过程:
1、最新版是0.82,在这里下载
2、最新版的asio库,在这里这里下载
3、最新版的openssl
4、创建一个vsc++ windows控制台项目,只需要包含一个例子里的cpp文件,即websocketpp-master\examples\echo_server_tls\echo_server_tls.cpp
5、设置项目属性之附加包含目录:
....\websocketpp-master;....\asio-1.30.2\include;....\OpenSSL-Win64\include
上面的省略号要根据你自己的实际路径替换。
6、设置项目属性之链接器之附加依赖项,是openssl的静态库:
libcrypto_static.lib;libssl_static.lib
还有这个依赖项的路径,这个简单,请自行设置。
7、关键:设置项目属性之C/C++之语言之C++语言标准:
选择 ISO C++17标准
8、最关键:设置项目属性之C/C++之预处理器,需添加下面三项:
ASIO_STANDALONE
_WEBSOCKETPP_CPP11_STRICT_
_SILENCE_CXX17_ALLOCATOR_VOID_DEPRECATION_WARNING
如此这般,就可以顺利编译并生成exe文件了。注意,运行的时候会提示打不开pem证书文件,这个请自行阅读源代码,自行生成测试的证书并放在和exe相同的目录下。