Rumah pangkalan data tutorial mysql 在MS Visual Studio 2008下编译QGIS1.0.2

在MS Visual Studio 2008下编译QGIS1.0.2

Jun 07, 2016 pm 03:44 PM
studio visual menyusun

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

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Ralat kompilasi C++: pengecam yang tidak diisytiharkan, bagaimana untuk menyelesaikannya? Ralat kompilasi C++: pengecam yang tidak diisytiharkan, bagaimana untuk menyelesaikannya? Aug 22, 2023 pm 03:34 PM

Apabila pengaturcaraan dalam C++, kita sering menghadapi masalah pengecam yang tidak diisytiharkan. Ini biasanya berlaku apabila pembolehubah, fungsi atau kelas yang tidak ditentukan digunakan, menyebabkan pengkompil gagal mengenali pengecam ini, mengakibatkan ralat penyusunan. Artikel ini menerangkan punca biasa masalah pengecam yang tidak diisytiharkan dan cara menyelesaikannya. Punca Biasa Masalah pengecam yang tidak diisytiharkan biasanya timbul daripada sebab berikut: Pembolehubah, fungsi atau kelas tidak diisytiharkan dengan betul: Anda harus mengisytiharkan pembolehubah, fungsi atau kelas sebelum menggunakannya. Jika pembolehubah tidak diisytiharkan atau berfungsi

Adakah Windows 11 menyediakan sokongan untuk aplikasi VB6? Adakah Windows 11 menyediakan sokongan untuk aplikasi VB6? May 30, 2023 am 08:31 AM

Windows 11 memperkenalkan lebih banyak elemen UI gaya macOS. Anda mendapat bar tugas yang direka bentuk semula dengan menu Mula di tengah. Ya, anda boleh menukar kedudukannya, tetapi secara lalai ia akan diletakkan di tengah. Pusat Kawalan juga telah menerima beberapa tweak reka bentuk. Dalam kemas kini seterusnya, sokongan untuk apl Android juga akan disertakan bersama Notepad dan Media Player yang direka bentuk semula. Walaupun semua ciri ini menjadikan Windows 11 peningkatan yang bagus berbanding Windows 10, keraguan tertentu timbul dalam fikiran pengguna. Terdapat segmen pengguna dan pembangun yang bimbang sama ada Windows 11 akan menyokong aplikasi dan teknologi warisan, sama ada mereka ketinggalan atau tidak. Sejak V

Bagaimana untuk Membetulkan Ralat Hilang VCRUNTIME140.dll pada Windows Bagaimana untuk Membetulkan Ralat Hilang VCRUNTIME140.dll pada Windows May 04, 2023 am 08:04 AM

Ralat VCRUNTIME140.dllismissing ialah masalah dengan fail Visual C++ Redistributable anda pada Windows. Anda boleh menggunakan tutorial ini untuk menyelesaikan masalah. Aplikasi dan perisian Windows memerlukan fail DLL untuk dijalankan - tanpanya, ia mungkin berhenti berfungsi sepenuhnya. Contohnya, jika anda melihat ralat VCRUNTIME140.dllismissing, ini menunjukkan bahawa PC anda kehilangan fail ini, menghalang aplikasi daripada dilancarkan. Ini mungkin disebabkan oleh pemasangan aplikasi yang tidak berjaya. Ia juga boleh muncul selepas menjalankan kemas kini Windows. Syukurlah, anda boleh dengan mudah

Mengapa Linux perlu menyusun kod sumber? Mengapa Linux perlu menyusun kod sumber? Mar 17, 2023 am 10:21 AM

Sebab: 1. Terdapat banyak versi Linux, tetapi setiap versi menggunakan perisian atau versi kernel yang berbeza, dan persekitaran yang bergantung pada pakej binari mungkin tidak semestinya berjalan seperti biasa, jadi kebanyakan perisian secara langsung menyediakan kod sumber untuk penyusunan dan pemasangan. 2. Mudah untuk menyesuaikan untuk memenuhi keperluan yang berbeza. 3. Ia mudah untuk operasi dan penyelenggaraan dan penyelenggaraan pembangun; kod sumber boleh dibungkus sebagai binari, tetapi pembungkusan perisian ini memerlukan kerja tambahan yang mahal, termasuk penyelenggaraan, jadi jika ia adalah kod sumber, pengeluar perisian akan mengekalkannya secara langsung .

Mengapakah program Go saya mengambil masa yang lebih lama untuk disusun? Mengapakah program Go saya mengambil masa yang lebih lama untuk disusun? Jun 09, 2023 pm 06:00 PM

Dalam beberapa tahun kebelakangan ini, bahasa Go telah menjadi pilihan semakin ramai pembangun. Walau bagaimanapun, berbanding dengan bahasa pengaturcaraan lain, kelajuan kompilasi bahasa Go tidak cukup pantas. Ramai pembangun akan menghadapi masalah ini apabila menyusun atur cara Go: Mengapakah program Go saya mengambil masa yang lebih lama untuk disusun? Artikel ini akan meneroka isu ini dari beberapa aspek. Seni bina pengkompil bahasa Go Seni bina pengkompil bahasa Go menggunakan reka bentuk tiga peringkat, iaitu bahagian hadapan, lapisan tengah dan bahagian belakang. Bahagian hadapan bertanggungjawab untuk menterjemah kod sumber kepada kod perantaraan dalam bahasa Go, dan lapisan tengah akan

Teknik penyusunan dan dekompilasi di Jawa Teknik penyusunan dan dekompilasi di Jawa Jun 09, 2023 am 09:43 AM

Java adalah bahasa pengaturcaraan yang sangat popular yang digunakan secara meluas untuk membangunkan pelbagai jenis perisian. Dalam pembangunan Java, teknologi kompilasi dan penyahkompilasi adalah pautan yang sangat penting. Teknologi kompilasi digunakan untuk menukar kod Java kepada fail boleh laku, manakala teknologi penyahkompilasi membolehkan seseorang menukar fail boleh laku semula kepada kod Java. Artikel ini akan memperkenalkan teknik kompilasi dan penyahkompilasi di Jawa. 1. Teknologi kompilasi Kompilasi ialah proses menukar kod bahasa peringkat tinggi (seperti Java) kepada bahasa mesin. di Jawa

4 Kaedah untuk membetulkan ralat CONCRT140.dll tidak ditemui 4 Kaedah untuk membetulkan ralat CONCRT140.dll tidak ditemui Apr 25, 2023 am 09:22 AM

Begitu ramai pengguna telah melaporkan bahawa setiap kali mereka cuba menjalankan aplikasi, ia melemparkan mesej ralat yang menyatakan bahawa pelaksanaan kod tidak dapat diteruskan kerana CONCRT140.dll tidak ditemui. Apabila membuka aplikasi Adobe, Halo, ForzaHorizon5, dsb., anda mungkin menghadapi CONCRT140.dll tidak ditemui. Jadi ini bukan isu khusus aplikasi. Tanpa DLL yang betul dipasang, aplikasi tidak akan berfungsi dengan betul kerana kodnya bergantung pada kod yang ditulis dalam perpustakaan ini. Dalam artikel ini, kami akan mempelajari apa itu CONCRT140.dll dan mengapa ia hilang, dan bagaimana kami boleh memuat turunnya dan membetulkan ralat. apa yang

Betulkan: Ralat Gagal Persediaan Boleh Agih Semula Microsoft Visual C++ 2015 0x80240017 Betulkan: Ralat Gagal Persediaan Boleh Agih Semula Microsoft Visual C++ 2015 0x80240017 Apr 18, 2023 pm 01:07 PM

Microsoft Visual C++ telah menjadi sebahagian daripada sistem pengendalian Windows yang diperlukan untuk menjalankan kebanyakan aplikasi biasa. Kini, beberapa pengguna baru-baru ini mengadu tentang isu yang mereka hadapi semasa cuba memasang Pakej Boleh Agih Semula Visual C++ untuk 2015 atau Pakej Boleh Agih Semula Microsoft Visual Studio untuk 2013. Menurut pengguna ini, pemasang berhenti di tengah jalan dan memaparkan "0x80240017 - Ralat Tidak Ditentukan" Mungkin terdapat banyak sebab di sebalik kegagalan ini. Jadi jangan buat begini

See all articles