无法使用“ generate_vcxproj.bat”构建GDAL Visual Studio项目

时间:2018-09-18 08:37:27

标签: c++ visual-studio-2017 gdal

我需要将GDAL库链接到c ++项目。

我从这里使用指令: http://trac.osgeo.org/gdal/wiki/GeneratingVisualStudioProject

  1. official web site下载gdal231.zip。打开包装。
  2. (可以省略此步骤-结果将是相同的),通过在文件的顶部添加以下内容来编辑nmake.opt:

    MSVC_VER = 1910

    WIN64 = 1

(不知道是否正确;没有详尽的指南)

  1. 运行win cmd,键入“ generate_vcxproj.bat 15.0 64 gdal_vs2017”,等待完成。
  2. 使用MSVS Community 15.8.4打开gdal_vs2017.vcxproj。构建解决方案。

构建失败,并显示“严重错误C1083:无法打开包含文件:'stdio.h':没有此类文件或目录”。

项目设置看起来很奇怪: 1

“ VC ++目录”似乎很正常,除了“库目录”中的$(VC_SourcePath): 2

怎么了?

3 个答案:

答案 0 :(得分:0)

为了构建GDAL,不需要Visual Studio项目。不知道“ generate_vcxproj”脚本出了什么问题—它只是行不通。但是还有另一种方式。

  1. 解压缩gdal231.zip。
  2. 启动“ VS 2017的x64本机工具命令提示符”(或满足您需要的VS命令提示符的任何版本)。转到“ gdal-2.3.1 \”目录。
  3. 打开nmake.opt文件。在开始时,有一些使用makefile.vc的提示。从那里选择一些论点。我选择了x64版本,因此对nmake的调用是这样的:“ nmake -f makefile.vc MSVC_VER = 1910 WIN64 = 1”。 (1910是Visual Studio 2017的版本)。
  4. 切换到“本机工具命令提示符”,然后在此处键入“ nmake -f makefile.vc MSVC_VER = 1910 WIN64 = 1”。输入。
  5. 完成后,键入“ nmake -f makefile.vc MSVC_VER = 1910 WIN64 = 1 install”,然后按Enter。
  6. 这同样完成时,键入“ nmake -f makefile.vc MSVC_VER = 1910 WIN64 = 1 devinstall”,然后按Enter。
  7. 完成。该库位于C:\ warmerda \ bld \文件夹中。

答案 1 :(得分:0)

使用VS2017 Community Edition进行构建时遇到了同样的问题。我能够使用VS2015 Community Edition很好地构建。

底线:运行.bat时,请使用2015选项。

答案 2 :(得分:0)

使用此处的信息修改generate_vcxproj.bat文件: https://en.wikipedia.org/wiki/Microsoft_Visual_C%2B%2B#Internal_version_numbering

我通过将第55-70行修改为我的代码来与Visual Studio Community 2019一起使用:

if "%_vcver_%"=="16.2" (
    set _clver_=1922
    set _vstoolset_=v1422
) else if "%_vcver_%"=="15.0" (
    set _clver_=1910
    set _vstoolset_=v141
) else if "%_vcver_%"=="14.0" (
    set _clver_=1900
    set _vstoolset_=v140
) else ( if "%_vcver_%"=="12.0" (
    set _clver_=1800
    set _vstoolset_=v120
) else (
    echo Wrong value for parameter 1. See usage:
    goto :usage
))