项目在做ASIO2环境测试时,出现要使用 c++语言标准 iso c++17标准(/std:c++17)的错误,解决办法参照网上资源:

1、工程属性--c/c++ 所有选项--c++语言标准 iso c++17标准(/std:c++17)

上述修改后,在调试 client.send时, 当使用 info 结构体时,也会出现错误,但源码中的例子没有问题

与官方联系有两个解决方案

(1) 语言 -> 符合模式 -> 改为 “否”

  (2)   socketHelper.cpp 中改为如下包含形式:

#include <asio2/base/selector.hpp>

struct info

{

int id;

char name[20];

char msg[100];

};

enum class Sender {TCC=1,TCIR,TCR};

namespace asio

{

inline asio::const_buffer buffer(const info& u) noexcept

{

return asio::const_buffer(&u, sizeof(info));

}

}

#include <asio2/asio2.hpp>

=========================================================================================

1>f:\code_pro\weakptr\weakptr\weakptr.cpp(27): error C2429: 语言功能 "if/switch 中的 init-statement" 需要编译器标志 "/std:c++17"

 ASIO2移植出错解决方案_#include