2

我正在尝试在 Visual Studio 中编译 QGIS。我使用 OSGeo4W 下载软件包,将 Flex.exe 和 Bison.exe 添加到我的环境路径中。下载了 QGIS Release 2.0,并启动了带有“Visual Studio 10”选项的 CMake-GUI。然后我使用 GUI 工具配置了我的路径。

CMakeGui1 CMakeGui2 CMakeGui3

然后我点击配置和生成,它工作。我查看了我的目录,发现有可用的 Visual Studio 解决方案文件。然后我点击“全部构建”,我在“输出窗口”中得到以下输出

Generating flex_qgsexpressionlexer.cpp
Generating qgsexpressionparser.cpp 1>  C:\OSGeo4W\bin\bison.exe: cannot open file
`C:\OSGeo4W/share/bison/m4sugar/m4sugar.m4': No such file or directory

所以这就是我卡住的地方。我尝试的第一件事是下载 m4sugar.m4,我在这里找到了它——因为我从 apple.com 下载了它,所以我真的不认为它会起作用,但我认为它值得一试,我把它放在正确的目录,然后点击构建...这次它显示
Generating qgsexpressionparser.cpp了,但它只是停在那里并且无法再提供输出。

在阅读了一些资料后,我得到的印象是 m4sugar.m4 在某种程度上不是标准文件,您需要在运行 msys 或 cygwin 时使用它。因此,我尝试使用 MSys 进行 Visual Studio 构建,但无法运行 vcvars32.bat。也许我应该更努力地尝试这种方法?无论如何让这个m4文件工作?

4

1 回答 1

2

好吧,所以我很懒。

我想节省时间,所以我只是将 bison.exe 复制到了我的 c:\osgeo4w\bin 中,并且已经在我的 %PATH% 中设置了。它需要所有这些其他文件。所以我更改了我的 CMake-GUI 中的路径以指向实际的 Bison.exe 并访问适当的相对路径,并确保它不在带有空格的目录中,然后重新配置我的 CMake-GUI 并重新生成我的项目,它现在正在工作。

于 2013-10-02T14:24:56.377 回答