在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

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Beim Programmieren in C++ stoßen wir häufig auf das Problem nicht deklarierter Bezeichner. Dies tritt normalerweise auf, wenn undefinierte Variablen, Funktionen oder Klassen verwendet werden, was dazu führt, dass der Compiler diese Bezeichner nicht erkennt, was zu Kompilierungsfehlern führt. In diesem Artikel werden häufige Ursachen für Probleme mit nicht deklarierten Identifikatoren und deren Lösung beschrieben. Häufige Ursachen Probleme mit nicht deklarierten Bezeichnern haben in der Regel folgende Gründe: Variablen, Funktionen oder Klassen sind nicht korrekt deklariert: Sie sollten Variablen, Funktionen oder Klassen deklarieren, bevor Sie sie verwenden. Wenn die Variable nicht deklariert ist oder funktioniert

Windows 11 führt weitere UI-Elemente im macOS-Stil ein. Sie erhalten eine neu gestaltete Taskleiste mit dem Startmenü in der Mitte. Ja, Sie können die Position ändern, aber standardmäßig wird es in der Mitte platziert. Auch das Control Center hat einige Designänderungen erfahren. Im nächsten Update wird es neben dem neu gestalteten Notepad und dem Media Player auch Unterstützung für Android-Apps geben. Obwohl all diese Funktionen Windows 11 zu einem schönen Upgrade gegenüber Windows 10 machen, brodeln bei den Benutzern gewisse Zweifel. Es gibt einen Teil der Benutzer und Entwickler, der sich Sorgen darüber macht, ob Windows 11 ältere Anwendungen und Technologien unterstützen wird, unabhängig davon, ob diese hinterherhinken oder nicht. Seit V

Der Fehler „VCRUNTIME140.dllismissing“ ist ein Problem mit Ihrer Visual C++ Redistributable-Datei unter Windows. Mit diesem Tutorial können Sie das Problem lösen. Für die Ausführung von Windows-Anwendungen und -Software sind DLL-Dateien erforderlich – ohne diese funktionieren sie möglicherweise überhaupt nicht mehr. Wenn Sie beispielsweise den Fehler „VCRUNTIME140.dllismissing“ sehen, weist dies darauf hin, dass auf Ihrem PC diese Datei fehlt und die Anwendung nicht gestartet werden kann. Dies kann an einer fehlgeschlagenen Installation der Anwendung liegen. Es kann sogar nach der Ausführung von Windows-Updates auftreten. Zum Glück können Sie das ganz einfach

Gründe: 1. Es gibt viele Versionen von Linux, aber jede Version verwendet unterschiedliche Software- oder Kernelversionen, und die Umgebung, auf der das Binärpaket basiert, läuft möglicherweise nicht unbedingt normal, sodass die meisten Softwareprogramme den Quellcode direkt für die Kompilierung und Installation bereitstellen. 2. Einfache Anpassung an unterschiedliche Anforderungen. 3. Es ist praktisch für den Betrieb und die Wartung sowie für die Entwicklerwartung. Der Quellcode kann als Binärdatei gepackt werden. Das Packen dieser Software erfordert jedoch kostspielige zusätzliche Arbeiten, einschließlich Wartung. Wenn es sich also um Quellcode handelt, wird der Softwarehersteller ihn direkt warten .

In den letzten Jahren ist die Sprache Go für immer mehr Entwickler zur Wahl geworden. Im Vergleich zu anderen Programmiersprachen ist die Kompilierungsgeschwindigkeit der Go-Sprache jedoch nicht hoch genug. Viele Entwickler werden beim Kompilieren von Go-Programmen auf dieses Problem stoßen: Warum dauert das Kompilieren meines Go-Programms länger? In diesem Artikel wird dieses Problem unter verschiedenen Aspekten untersucht. Die Compiler-Architektur der Go-Sprache Die Compiler-Architektur der Go-Sprache verwendet ein dreistufiges Design: Front-End, Mittelschicht und Back-End. Das Front-End ist für die Übersetzung des Quellcodes in Zwischencode in der Go-Sprache verantwortlich, und die mittlere Ebene übernimmt die Aufgabe

Java ist eine sehr beliebte Programmiersprache, die häufig zur Entwicklung verschiedener Arten von Software verwendet wird. In der Java-Entwicklung sind Kompilierungs- und Dekompilierungstechnologie sehr wichtige Verbindungen. Die Kompilierungstechnologie wird verwendet, um Java-Code in ausführbare Dateien zu konvertieren, während die Dekompilierungstechnologie es ermöglicht, ausführbare Dateien wieder in Java-Code zu konvertieren. In diesem Artikel werden Kompilierungs- und Dekompilierungstechniken in Java vorgestellt. 1. Kompilierungstechnologie Kompilierung ist der Prozess der Konvertierung von Hochsprachencode (z. B. Java) in Maschinensprache. in Java

So viele Benutzer haben berichtet, dass bei jedem Versuch, die Anwendung auszuführen, eine Fehlermeldung ausgegeben wird, die besagt, dass die Codeausführung nicht fortgesetzt werden kann, da CONCRT140.dll nicht gefunden wird. Beim Öffnen von Adobe-Anwendungen, Halo, ForzaHorizon5 usw. kann es vorkommen, dass CONCRT140.dll nicht gefunden wird. Es handelt sich also nicht um ein anwendungsspezifisches Problem. Ohne die Installation der richtigen DLLs funktionieren Anwendungen nicht ordnungsgemäß, da ihr Code vom in diesen Bibliotheken geschriebenen Code abhängt. In diesem Artikel erfahren wir, was CONCRT140.dll ist, warum sie fehlt und wie wir sie herunterladen und den Fehler beheben können. was ist

Microsoft Visual C++ ist zu einem integralen Bestandteil des Windows-Betriebssystems geworden, der für die Ausführung der meisten gängigen Anwendungen erforderlich ist. Nun haben sich einige Benutzer kürzlich über Probleme beschwert, die bei der Installation von Visual C++ Redistributable Packages für 2015 oder Microsoft Visual Studio Redistributable Packages für 2013 aufgetreten sind. Diesen Benutzern zufolge stoppte das Installationsprogramm mittendrin und zeigte „0x80240017 – Nicht spezifizierter Fehler“ an. Dieser Fehler könnte viele Gründe haben. Also tu das nicht
