如何使用VS2017社区配置OpenDDS 3.13?

时间:2018-12-03 17:10:09

标签: perl visual-studio-2017 opendds

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

C:\ProgramsNotInstalled\OpenDDS-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:\ProgramsNotInstalled\OpenDDS-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:\ProgramsNotInstalled\OpenDDS-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:\ProgramsNotInstalled\OpenDDS-3.13>

我在堆栈溢出时看到了DDS 3.12提出的类似问题,但是答案与语言有关。在我看来,这显然不是问题,我正在从正确类型的命令提示符下运行配置脚本。这个问题不是重复的。 How to install OpenDDS 3.12 on windows system

2 个答案:

答案 0 :(得分:0)

很明显,配置脚本不能始终自动检测到编译器版本。我不太擅长阅读Perl脚本,因为我不太了解Perl,但是我找到了一种帮助脚本的选项。

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

cl /?

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

configure --compiler=19.16.27024.1 --java

此时,INSTALL文件和README文件中的说明不清楚。我运行configure --help查看命令行选项,这就是我了解到脚本将尝试自动检测编译器的方式。我的猜测是该脚本正在寻找特定的C ++编译器版本,或者正在使用无法正常运行的正则表达式。

答案 1 :(得分:0)

这是OpenDDS 3.13的配置脚本中的一个小问题,这是由于发行时不知道的编译器版本更改引起的。当您拉github主机(请参阅https://github.com/objectcomputing/OpenDDS)时,它应该可以再次工作,或者等到OpenDDS 3.14。