在MS Visual Studio 2008下编译QGIS1.0.2
1. 下载并安装所需的第三方组件 1.1 Flex 和 Bison Flex 和 Bison 是安装 Grass 和 QGIS 必须的程序。 * 注意:这两个工具在安装时,安装目录不要有空格,否则在编译 QGIS 时找不到这两个文件。 1.2 PostSQL (略) 1.3 QT 的安装 可以直接选择默认安装。 1.
1. 下载并安装所需的第三方组件
1.1 Flex 和 Bison
Flex 和 Bison是安装Grass和QGIS必须的程序。
*注意:这两个工具在安装时,安装目录不要有空格,否则在编译QGIS时找不到这两个文件。
1.2 PostSQL(略)
1.3 QT的安装
可以直接选择默认安装。
1.4 Proj.4
(1)从Proj.4官方网站上下载最新的版本,解压缩到某个文件夹。
(2)使用Visual Studio 2008 command,定位到Proj.4的加压缩文件下,输入下面的命令进行编译:nmake –f makefile.vc MSVC_VER=1500 (对于MSVC_VER值的设定,可以参考nmake.opt文件里的注释)
(3)输入以下命令,将生成Proj.4的bin, include和lib目录,并将相应的文件放到各个目录下:
set PROJ_DIR=c:/lib/proj
mkdir %PROJ_DIR%/bin
mkdir %PROJ_DIR%/include
mkdir %PROJ_DIR%/lib
copy src/*.dll %PROJ_DIR%/bin
copy src/*.exe %PROJ_DIR%/bin
copy src/*.h %PROJ_DIR%/include
copysrc/*.lib %PROJ_DIR%/lib
1.5 GSL
获得GSL源码,直接编译gsl.sln文件(如果是较早版本,直接用VS2008打开即可)
1.6 GEOS
(1)获得最新版本的GEOS,(本文使用的是geos-3.1.0),使用Visual Studio 2008 command,定位到Proj.4的加压缩文件下,输入下面的命令进行编译:
nmake –f makefile.vc MSVC_VER=1500
*注意:对于MSVC_VER值的设定,可以参考nmake.opt文件里的注释
(2) GEOS 的bin, include和lib目录,及其相应文件的生成参考Proj.4的生成方法
1.7 GDAL的编译
参考CSDN上blog的说明。
1.8 PostGIS(略未支持)
1.9 Expat
下载expat-win32bin-2.0.1.exe(或更高版本),安装。*注意,安装目录名也不应该包含空格。
1.10 CMake
下载最新版本的CMake-win32.exe,安装。
2. 用CMake-gui编译QGIS程序。
设置Source Code为QGIS源文件的路径,已经要生成编译文件的路径;然后,设置以上所需的工具的LIB和INCLUDE路径,点击Configuration后,点击Generate,生成qgis1.0.2.sln文件,编译该文件,即可获得.lib和.dll文件。参考QGIS1.0.2安装版的安装后目录信息,制作我们自己的bin, include, lib和plugins目录(方法是,拷贝QGIS1.0.2安装版include文件夹生成include目录;拷贝我们生成的qgis_core.dll、qgis_gui.dll构建Bin目录—可以将sqlite3.dll, gdal16.dll一并拷到Bin目录下;到编译生成的src目录下,选择”文件搜索”工具,输入”*.dll”,选出生成providers和Plugins,拷贝到plugins目录下)。
注意事项:
(1)根据情况选择是否允许以下工具一起编译:
WITH_BINDINGS-------- Python
WITH_GRASS-------------Grass
WITH_INTERNAL_SQLITE3-----是否使用QGIS源文件提供的Sqlite3,在此要取消该项的选择,设置自己下载的最新版本的Sqlite3源文件,编译生成.dll和.lib 文件。否则编译生成的QGIS的lib库对Sqlite3的使用会报错(可能是QGIS源文件的Sqlite3有问题)。
WITH_POSTGRESQL---Postgresql
(2)GDAL的LIBRARY要使用gdal_i.lib文件,这是一个动态链接库文件(本人也不太懂),
Proj的LIBRARY也应该如此。我在编译时使用的是proj.lib文件,目前还没遇到什么错误,等下次重新编译时我尝试以下。
3. QGIS的使用例子
在使用QGIS时,要注意加上
#define CORE_EXPROT
#define GUI_EXPROT

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









C++ でプログラミングする場合、宣言されていない識別子の問題がよく発生します。これは通常、未定義の変数、関数、またはクラスが使用されている場合に発生し、コンパイラーがこれらの識別子を認識できず、コンパイル エラーが発生します。この記事では、未宣言の識別子の問題の一般的な原因とその解決方法について説明します。一般的な原因 未宣言の識別子の問題は通常、次の理由から発生します。 変数、関数、またはクラスが正しく宣言されていない: 変数、関数、またはクラスは使用する前に宣言する必要があります。変数が宣言または関数されていない場合

Windows 11 では、macOS スタイルの UI 要素がさらに導入されています。再設計されたタスクバーが中央にスタート メニューを表示します。はい、位置は変更できますが、デフォルトでは中央に配置されます。コントロールセンターにもいくつかのデザインの調整が加えられています。次のアップデートでは、再設計されたメモ帳とメディア プレーヤーに加えて、Android アプリもサポートされる予定です。これらすべての機能により、Windows 11 は Windows 10 よりも優れたアップグレードになりますが、ユーザーの心の中にはある種の疑念が生じています。ユーザーや開発者の中には、遅れているかどうかにかかわらず、Windows 11 が従来のアプリケーションやテクノロジをサポートするかどうかを懸念している層がいます。 V以降

VCRUNTIME140.dllismissing エラーは、Windows 上の Visual C++ 再頒布可能ファイルの問題です。このチュートリアルを使用して問題を解決できます。 Windows アプリケーションとソフトウェアの実行には DLL ファイルが必要です。DLL ファイルがないと、完全に動作しなくなる可能性があります。たとえば、VCRUNTIME140.dllismissing エラーが表示された場合、これは PC にこのファイルがないため、アプリケーションが起動できないことを示しています。アプリケーションのインストールが失敗したことが原因である可能性があります。 Windows Update の実行後にも表示されることがあります。ありがたいことに、簡単にできます

理由: 1. Linux には多くのバージョンがありますが、各バージョンでは使用するソフトウェアまたはカーネルのバージョンが異なり、バイナリ パッケージが依存する環境によっては正常に実行できない可能性があるため、ほとんどのソフトウェアはコンパイルとインストール用のソース コードを直接提供します。 2.さまざまなニーズに合わせてカスタマイズが簡単です。 3. 運用保守や開発者の保守に便利 ソースコードはバイナリでパッケージ化することも可能ですが、パッケージ化には保守などのコストがかかるため、ソースコードであればソフトウェアメーカーが直接保守します。

近年、Go 言語を選択する開発者がますます増えています。ただし、他のプログラミング言語と比較すると、Go 言語のコンパイル速度は十分に速くありません。多くの開発者は、Go プログラムをコンパイルするときに次の問題に遭遇します。なぜ Go プログラムのコンパイルに時間がかかるのですか?この記事では、この問題をいくつかの側面から検討します。 Go 言語のコンパイラ アーキテクチャ Go 言語のコンパイラ アーキテクチャは、フロントエンド、中間層、バックエンドの 3 段階の設計を採用しています。フロントエンドはソース コードを Go 言語の中間コードに変換する責任を負い、中間層は

Java は、さまざまな種類のソフトウェアの開発に広く使用されている非常に人気のあるプログラミング言語です。 Java 開発では、コンパイルと逆コンパイルのテクノロジは非常に重要なリンクです。コンパイル テクノロジは Java コードを実行可能ファイルに変換するために使用されますが、逆コンパイル テクノロジを使用すると、実行可能ファイルを Java コードに変換し直すことができます。この記事では、Java のコンパイルと逆コンパイルのテクニックを紹介します。 1. コンパイル技術 コンパイルとは、高級言語 (Java など) のコードを機械語に変換するプロセスです。 Javaで

非常に多くのユーザーが、アプリケーションを実行しようとすると、CONCRT140.dll が見つからないためコードの実行を続行できないというエラー メッセージが表示されると報告しています。 Adobe アプリケーション、Halo、ForzaHorizon5 などを開くと、CONCRT140.dll が見つからないという問題が発生する場合があります。したがって、これはアプリケーション固有の問題ではありません。適切な DLL がインストールされていないと、アプリケーションのコードはこれらのライブラリに記述されたコードに依存するため、アプリケーションは適切に動作しません。この記事では、CONCRT140.dll とは何か、それが見つからない理由、およびそれをダウンロードしてエラーを修正する方法について説明します。とは

Microsoft Visual C++ は、ほとんどの一般的なアプリケーションを実行するために必要な Windows オペレーティング システムの不可欠な部分になっています。現在、一部のユーザーから、Visual C++ 再頒布可能パッケージ (2015 年) または Microsoft Visual Studio 再頒布可能パッケージ (2013 年) をインストールしようとしたときに発生した問題について苦情が寄せられています。これらのユーザーによると、インストーラーが途中で停止し、「0x80240017 - 不明なエラー」が表示され、この失敗の背後にはさまざまな理由が考えられます。だからこれはやめてください
