代码之家  ›  专栏  ›  技术社区  ›  rmeador

未声明的标识符,因此在构建apache axis2/c时使用exclusivereaddruse

  •  0
  • rmeador  · 技术社区  · 16 年前

    我正在尝试构建Apache AxIS2/C(实际上我正在为它构建WSO2 WSF/C++封装器),它在遇到符号时总是给我一个错误。 SO_EXCLUSIVEADDRUSE 。它是一个套接字选项,msdn说它应该是可用的。我在win服务器2k3上使用msvc++6.0。我对编译器和操作系统没有选择…如果我在Linux上,我已经完成了:p

    我查看了一个vs2005安装,发现它包含 #define 对于winsock2.h中的常数,它不在winsock2.h中,而在msvc6中。另外,在vs2005中,它位于vs2005目录中platformsdk文件夹下,而msvc6上似乎没有这样的目录。为什么这个符号不见了?我怎么才能拿到?我很想抄过去,但谁知道我还会错过什么呢…有什么想法吗?

    1 回复  |  直到 14 年前
        1
  •  1
  •   Yi Zhao    14 年前

    自从visual studio.net 2003以来,微软改变了它交付platformsdk的方式。它允许C/C++编译器使用捆绑包以外的其他组件使用VC包。

    你可以为WindowsServer2K3安装PlatformSDK,但是最后一个可以与VC6.0一起使用的SDK是2003年2月的版本,微软网站上没有这个版本。

    所以你可以简单地复制 #define 在使用之前 SO_EXCLUSIVEADDRUSE . 它应该可以工作并由win2k3支持。