首頁 資料庫 mysql教程 在MS Visual Studio 2008下编译QGIS1.0.2

在MS Visual Studio 2008下编译QGIS1.0.2

Jun 07, 2016 pm 03:44 PM
studio visual 編譯

1. 下载并安装所需的第三方组件 1.1 Flex 和 Bison Flex 和 Bison 是安装 Grass 和 QGIS 必须的程序。 * 注意:这两个工具在安装时,安装目录不要有空格,否则在编译 QGIS 时找不到这两个文件。 1.2 PostSQL (略) 1.3 QT 的安装 可以直接选择默认安装。 1.

 

1.       下载并安装所需的第三方组件

1.1   Flex Bison

Flex Bison是安装GrassQGIS必须的程序。

*注意:这两个工具在安装时,安装目录不要有空格,否则在编译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.4bin, includelib目录,并将相应的文件放到各个目录下:

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, includelib目录,及其相应文件的生成参考Proj.4的生成方法

 

1.7   GDAL的编译

参考CSDNblog的说明。

 

1.8   PostGIS(略未支持)

 

1.9   Expat

下载expat-win32bin-2.0.1.exe(或更高版本),安装。*注意,安装目录名也不应该包含空格。

1.10  CMake

下载最新版本的CMake-win32.exe,安装。

 

2.       CMake-gui编译QGIS程序。

设置Source CodeQGIS源文件的路径,已经要生成编译文件的路径;然后,设置以上所需的工具的LIBINCLUDE路径,点击Configuration后,点击Generate,生成qgis1.0.2.sln文件,编译该文件,即可获得.lib.dll文件。参考QGIS1.0.2安装版的安装后目录信息,制作我们自己的bin, include, libplugins目录(方法是,拷贝QGIS1.0.2安装版include文件夹生成include目录;拷贝我们生成的qgis_core.dllqgis_gui.dll构建Bin目录可以将sqlite3.dll, gdal16.dll一并拷到Bin目录下;到编译生成的src目录下,选择文件搜索工具,输入”*.dll”选出生成providersPlugins,拷贝到plugins目录下)。

注意事项:

1)根据情况选择是否允许以下工具一起编译:

       WITH_BINDINGS-------- Python

       WITH_GRASS-------------Grass

       WITH_INTERNAL_SQLITE3-----是否使用QGIS源文件提供的Sqlite3,在此要取消该项的选择,设置自己下载的最新版本的Sqlite3源文件,编译生成.dll.lib 文件。否则编译生成的QGISlib库对Sqlite3的使用会报错(可能是QGIS源文件的Sqlite3有问题)。

       WITH_POSTGRESQL---Postgresql

(2)GDALLIBRARY要使用gdal_i.lib文件,这是一个动态链接库文件(本人也不太懂),

ProjLIBRARY也应该如此。我在编译时使用的是proj.lib文件,目前还没遇到什么错误,等下次重新编译时我尝试以下。

 

3.       QGIS的使用例子

在使用QGIS时,要注意加上

#define CORE_EXPROT

#define GUI_EXPROT

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1664
14
CakePHP 教程
1423
52
Laravel 教程
1320
25
PHP教程
1269
29
C# 教程
1249
24
C++編譯報錯:未宣告的標識符,如何解決? C++編譯報錯:未宣告的標識符,如何解決? Aug 22, 2023 pm 03:34 PM

在使用C++進行程式設計時,經常會遇到未宣告的識別碼這個問題。這種情況通常發生在使用了未定義的變數、函數或類別時,導致編譯器無法識別這些標識符,進而產生編譯錯誤。本文將介紹導致未聲明的標識符問題的常見原因以及如何解決這個問題。常見原因未宣告的標識符問題通常由以下幾種原因導致:變數、函數或類別未被正確聲明:在使用變數、函數或類別之前,應該先聲明它們。如果變數未被宣告或函

linux為什麼要編譯原始碼 linux為什麼要編譯原始碼 Mar 17, 2023 am 10:21 AM

原因:1、Linux髮型版本眾多,但每個版本採用的軟體或核心版本都不一樣,而二進位套件所依賴的環境不一定能夠正常運作,所以大部分軟體直接提供原始碼進行編譯安裝。 2、方便定制,滿足不同的需求。 3.方便運維、開發人員維護;源碼是可以打包二進位的,但是對於這個軟體的打包都會有一份代價不小的額外工作,包括維護,所以如果是源碼的話,軟體產商會直接維護。

如何修復 VCRUNTIME140.dll 在 Windows 上遺失錯誤 如何修復 VCRUNTIME140.dll 在 Windows 上遺失錯誤 May 04, 2023 am 08:04 AM

VCRUNTIME140.dllismissing錯誤是您在Windows上的VisualC++Redistributable檔案有問題。您可以使用本教學解決問題。 Windows應用程式和軟體需要DLL檔案才能運作——沒有它們,它們可能會完全停止運作。例如,如果您看到VCRUNTIME140.dllismissing錯誤,這表示您的PC缺少此文件,從而阻止應用程式啟動。這可能是由於應用程式安裝不成功。它甚至可以在運行Windows更新後出現。值得慶幸的是,您可以輕鬆

Windows 11 是否提供對 VB6 應用程式的支援? Windows 11 是否提供對 VB6 應用程式的支援? May 30, 2023 am 08:31 AM

Windows11引進了更多macOS風格的UI元素。您將獲得重新設計的任務欄,開始功能表位於中心。是的,您可以更改它的位置,但預設情況下,它將放置在中心。控制中心也進行了一些設計調整。在下一次更新中,對Android應用程式的支援也將與重新設計的記事本和媒體播放器一起提供。儘管所有這些功能都讓Windows11比Windows10有了不錯的升級,但使用者的腦海中正在醞釀某些疑慮。有一部分用戶和開發人員擔心Windows11是否會支援遺留應用程式和技術,無論是否落後。由於V

Java 中的編譯與反編譯技術 Java 中的編譯與反編譯技術 Jun 09, 2023 am 09:43 AM

Java是一種非常流行的程式語言,廣泛應用於開發各種類型的軟體。在Java開發中,編譯和反編譯技術是非常重要的環節。編譯技術用於將Java程式碼轉換成可執行文件,而反編譯技術則允許人們將可執行檔重新轉換回Java程式碼。本文將介紹Java中的編譯和反編譯技術。一、編譯技術編譯是將高階語言(如Java)程式碼轉換為機器語言的過程。在Java

4 修復 CONCRT140.dll 未找到錯誤的方法 4 修復 CONCRT140.dll 未找到錯誤的方法 Apr 25, 2023 am 09:22 AM

如此多的用戶報告說,每當他們嘗試運行應用程式時,它都會拋出一條錯誤訊息,指出程式碼執行無法繼續,因為未找到CONCRT140.dll。在開啟AdAdobe應用程式、Halo、ForzaHorizo​​n5等時,您可能會遇到找不到CONCRT140.dll。因此,這不是特定於某個應用程式的問題。如果沒有安裝正確的DLL,應用程式將無法正常運作,因為它們的程式碼依賴這些程式庫中編寫的程式碼。在本文中,我們將了解CONCRT140.dll是什麼以及它丟失的原因,以及我們如何下載它並修復錯誤。什麼是

修復:Microsoft Visual C++ 2015 Redistributable Setup Failed 錯誤 0x80240017 修復:Microsoft Visual C++ 2015 Redistributable Setup Failed 錯誤 0x80240017 Apr 18, 2023 pm 01:07 PM

MicrosoftVisualC++已成為執行大多數常見應用程式所需的Windows作業系統的組成部分。現在,一些用戶最近抱怨他們在嘗試安裝VisualC++RedistributablePackagesfor2015或MicrosoftVisualStudioRedistributablePackagesfor2013時遇到的問題。根據這些用戶的說法,安裝程式中途停止並顯示「0x80240017-未指定錯誤」。這次失敗的背後可能有很多原因。因此,不要在此

C++編譯錯誤:函式參數列表太長,該怎麼解決? C++編譯錯誤:函式參數列表太長,該怎麼解決? Aug 21, 2023 pm 11:19 PM

C++編譯錯誤:函式參數列表太長,該怎麼解決?在使用C++編寫程式時,有時會遇到這樣的編譯錯誤:函數參數清單太長。對於C++初學者來說,這可能是個很頭痛的問題。接下來,我們將介紹這個問題的原因和解決方法。首先,讓我們來看看C++函數參數的基本規定。在C++中,函式參數必須在函式名稱和左括號之間宣告。當你傳遞函數參數時,告訴函數要做什麼。這些參數可以是任

See all articles