C++ 如何在Windows上用Visual Studio编译C程序?

C++ 如何在Windows上用Visual Studio编译C程序?,c++,c,visual-studio,visual-studio-2010,compilation,C++,C,Visual Studio,Visual Studio 2010,Compilation,我正在尝试使用Visual Studio 2015在Windows for x86或x64上编译一个二维本地化库,名为libdots 库的自述文件中说明了以下内容: 它是用纯c编写的,没有外部库依赖项 而不是“libc” 到目前为止我所做的: 安装到C:/opencv 安装 安装 设置以下系统环境变量: OPENCV_DIR C:\opencv\build\x86\vc12 将以下内容添加到Windows设置中的Path变量: %OPENCV_DIR%; C:\opencv\buil

我正在尝试使用Visual Studio 2015在Windows for x86或x64上编译一个二维本地化库,名为libdots

库的自述文件中说明了以下内容:

它是用纯c编写的,没有外部库依赖项 而不是“libc”

到目前为止我所做的:

  • 安装到C:/opencv
  • 安装
  • 安装
设置以下
系统环境变量

OPENCV_DIR    C:\opencv\build\x86\vc12
将以下内容添加到Windows设置中的
Path
变量:

%OPENCV_DIR%;
C:\opencv\build\x86\vc12\lib;
C:\opencv\build\include;
C:\opencv\build\include\opencv;
C:\opencv\build\include\opencv2
然后,我使用cmake gui配置并生成了Makefile,并使用“使用默认本机编译器”选择了
Visual Studio 14 2015
generator:

这将生成一个Visual Studio解决方案文件(*.sln)。打开此文件将显示IDE中完整的C项目。但在尝试构建项目时,我遇到以下错误:


有人知道如何继续和/或解决这些问题吗?

看起来Visual Studio从未支持C99的可变长度数组支持;甚至在VS2010中也没有-因此您必须编辑代码,或者使用不同的编译器示例:第145行
intmaxima[numMax] NUMMAX不是常数,使得这不是标准兼容的C++。Visual Studio遵守标准的这一部分,所以你就是索尔,伙计。在VisualStudio(和许多其他C++编译器)下,需要大量编写代码来尝试使用CMADE并选择MIW作为编译器,因为您经历了安装它的麻烦?谢谢快速回复。我基本上不受Visual Studio的约束。让我试试mingw编译器。。。在尝试之后,我会回来。您可能会考虑使用VisualStudio C++编译器,它与C兼容(主要是向后兼容)。您必须做的是将文件从.c重命名为.cpp。