如何使用VS2017社区配置OpenDDS 3.13



我使用的是Visual Studio 2017。以下是Visual Studio Developer命令提示符的输出,指示C++版本。

C:ProgramsNotInstalledOpenDDS-3.13>cl /?
Microsoft (R) C/C++ Optimizing Compiler Version 19.16.27024.1 for x86

接下来,我将在运行configure--java命令时看到以下输出。

**********************************************************************
** Visual Studio 2017 Developer Command Prompt v15.9.3
** Copyright (c) 2017 Microsoft Corporation
**********************************************************************
C:ProgramsNotInstalledOpenDDS-3.13>configure
ERROR: Could not detect Visual C++ version, try running this script from the Visual Studio Command Prompt.
Stopped at configure line 421.
C:ProgramsNotInstalledOpenDDS-3.13>configure --java
ERROR: Could not detect Visual C++ version, try running this script from the Visual Studio Command Prompt.
Stopped at configure line 421.
C:ProgramsNotInstalledOpenDDS-3.13>

我看到DDS3.12在堆栈溢出问题上提出了类似的问题,但答案与语言有关。这显然不是我的问题,我正在从正确类型的命令提示符运行配置脚本。这个问题不是重复的。如何在windows系统上安装OpenDDS 3.12

显然,配置脚本不能总是自动检测编译器版本。我不擅长阅读perl脚本,因为我不太了解perl,但我找到了一个帮助脚本的选项。

首先通过运行以下行来确定C++编译器的确切版本:

cl /?

现在使用它的输出,将--compiler选项添加到命令行中。

configure --compiler=19.16.27024.1 --java

INSTALL文件和自述文件中的说明在这一点上并不清楚。我运行了configure--help来查看命令行选项,这就是我了解到脚本将尝试自动检测编译器的方式。我的猜测是,该脚本正在寻找一个特定的C++编译器版本,或者它使用的正则表达式工作不好。

这是OpenDDS 3.13的配置脚本中的一个小问题,由发布时未知的编译器版本更改引起。您何时拉动github master(请参阅https://github.com/objectcomputing/OpenDDS)这应该会再次工作,或者等到OpenDDS 3.14。

最新更新