在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

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



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

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

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

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 .

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

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

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

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
