QGIS编译:解决bison生成qgssearchstringparser.cpp错误
需积分: 48 74 浏览量
更新于2024-09-12
收藏 22KB DOCX 举报
"QGIS编译过程中的关键注意事项与解决方法"
在QGIS的编译过程中,开发者可能会遇到一些特定的挑战,特别是对于那些希望通过QGIS的SDK进行二次开发的人来说。以下是一些编译QGIS时需要特别关注的问题及其解决策略。
首先,QGIS源代码中包含一个使用Bison工具生成的文件`qgssearchstringparser.cpp`。Bison是一个解析器生成器,用于创建处理语言或协议的解析器。在使用vc8(Visual Studio 2005)进行编译时,直接调用Bison可能会导致错误。错误信息通常显示为“Project:error PRJ0019:A tool returned an error code from 'Generating qgssearchstringparser.cpp'”。为了避免这个问题,需要手动执行Bison命令。具体操作是切换到Bison可执行文件所在的目录(如`C:\GnuWin32\bin`),然后输入相应的命令,指明输入文件(`qgssearchstringparser.yy`)和输出文件(`qgssearchstringparser.cpp`)的位置。确保路径正确无误,否则编译将失败。
其次,当链接PostgreSQL数据库支持时,需要正确指定库文件。在编译QGIS时,务必包含`libpq.lib`,这是PostgreSQL客户端库,它允许QGIS与PostgreSQL数据库进行交互。如果不正确地指定或遗漏这个库文件,编译连接阶段可能会出现错误。
除了上述问题,编译QGIS还需要一些必备的软件工具,包括:
1. Visual Studio 2008 SP1:作为开发环境,用于构建QGIS的Windows版本。
2. CMake:这是一个跨平台的构建系统,用于生成适配不同编译器的项目文件。
3. Bison:解析器生成器,用于处理语法定义文件。
4. Flex:词法分析器生成器,处理输入流并生成词法分析器。
5. OSGeo4W:一个基于Windows的开源GIS软件包,提供了许多GIS相关的库和工具。
6. QGIS源代码:包含了QGIS的全部源代码,是编译的基础。
编译QGIS的步骤大致如下:
1. 安装所有必要的软件和库。
2. 使用CMake配置项目,指定源代码目录和生成的构建目录。
3. 解决Bison生成`qgssearchstringparser.cpp`时的错误,按照上述方法手动执行Bison命令。
4. 在Visual Studio中打开由CMake生成的项目文件,并编译解决方案。
5. 在编译过程中,确保正确设置库路径,尤其是PostgreSQL的`libpq.lib`。
6. 如果没有错误,编译完成后,就可以使用生成的SDK进行二次开发了。
QGIS的编译过程涉及到多个步骤和工具,对每个环节的理解和掌握至关重要。遇到问题时,需要耐心调试和查阅相关文档,以便成功完成编译并顺利进行二次开发。
2017-06-28 上传
2012-04-05 上传
2014-06-17 上传
2020-07-12 上传
2012-09-08 上传
2017-03-23 上传
点击了解资源详情
image_proc
- 粉丝: 3
- 资源: 21
最新资源
- 1-formularz-html5
- 电子功用-油浸式电力变压器匝间绝缘试验模型线圈
- phonebook
- ui-landing-bot:用原生Vanilla JavaScript编写的Landbot克隆。 死了简单而没有依赖性,只是纯粹的喜悦!
- calcite-components-svelte-example
- temuulenj.github.io
- hapi-google-oauth2-certs:用于管理 Google oAuth2 证书的 Hapi 插件
- KM-MiniProgram:迷你程序,用于保存内存
- campay-python-sdk:适用于CamPay付款网关的Python SDK
- 19041.789-ok-rdpwrap.zip
- wnarhi.github.io:刺激库
- ember-cli-groundskeeper:地面管理员的 Ember-CLI 插件
- strong-data-uri:数据解析器和编码器
- 雷克斯
- get_shirt_hot_with_splunk:学习Splunk培训模块
- Dochameleon:渐进式静态网站生成器