我正在使用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
答案 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。