?? readme.ms-mingw
字號:
Mapserver and Mapscript/Tcl for WindowsThese are the steps I have made to compile Mapserver and Mapscript/Tcl forWindows. My build environment is the Mingw (Minimalist GNU for Windows)compiler and toolchain, hosted on Linux/Unix. You probably want to use the pre-compiled DLL, if at all possible.Things get ugly after this......First, make a new directory to hold everthing we will need. mkdir ms_win cd ms_winUnpack the ms-mingw.tar.gz in that directory: gunzip -c ../ms-mingw.tar.gz | tar xf -Next, you'll need the Mingw compiler and toolchain, compiled as a cross compiler, hosted on your Linux or Unix platform.Mo DeJong has written a shell script to download, compile, and install *all*of the compiler, toolchain, and Mingw libraries. The script is inms-mingw/mingw-xcc.sh I have set the script to install the tools into/opt/mingw. If you want to change this, you'll need to also change the 'build'shell script. The mingw-xcc.sh script uses the 'wget' program to fetchfiles via ftp (ftp://ftp.gnu.org/gnu/wget/). cd ms-mingw sh mingw-xcc.sh cd ..Next, get *fresh* sources of all of the required MapServer packages, and unpack in the ms_win directory. Your 'ms_win' directory should look like this after unpacking all of the sources: README.ms-mingw install ms-mingw/ tcl8.3.2/ build jpeg-6b/ proj-4.4.2/ tiff-v3.5.5/ freetype-1.3.1/ mapserver/ regex-0.12/ zlib-1.1.3/The 'ms-mingw' directory contains directories for each of the components wewill be building. Each directory consists of a Makefile for Mingw as a cross compiler, and a 'build' script to copy the Makefile into the sourcedirectories (as above), and make the libraries.Software locations:mingw: http://www.mingw.org The mingw-xcc.sh script will grab things for you. There's a lot of info on the Mingw compiler and its use as a cross compiler at the site.proj: http://www.remotesensing.org/proj/ Get version 4.4.2zlib: http://www.info-zip.org/pub/infozip/zlib/ Get version 1.1.3jpeg: ftp://ftp.uu.net/graphics/jpeg/ Get version 6b.tiff: http://www.libtiff.org/ Get version 3.5.5freetype: http://www.freetype.org Get version 1.3.1 NOTE!!! I have found the the freetype-1.3.1.tar.gz file contains source files with dos style end of line characters (cr-lf). This will likely confuse gcc. The easy way to convert into normal unix-style text files is to get the freetype-1.3.1.zip, and use 'unzip -a freetype-1.3.1' to unpack it, converting the files to use lf only. Rename the 'freetype' directory to 'freetype-1.3.1'.regex: ftp://ftp.gnu.org/pub/gnu/regex/regex-0.12.tar.gz mapserver: http://mapserver.gis.umn.edu/dload.html Get the 'nightly' CVS builds for 3.4 (beta), nightly.tar.gz. We will also use the GD 1.2 and GDFT libraries that come with Mapserver. As a side effect, we will also build an executable, mapserv.exe.tcl: http://dev.scriptics.com Get version 8.3.2 We will only be building 'libtclstub83.a', not the entire Tcl library. Also get 'tcl832.exe' and install it on your Windows machine(s) if you don't already have it. For best results, let the installer place Tcl in 'C:\Program Files\Tcl'.Build everything:Use the build script in this directory. (change the values of 'mingwbin' and'mingwxcc' if needed.) sh buildInstall:You probably have to be root to write into /c. sh installOr, you can ftp the files over to your windows box and use the 'setup.tcl' installer.Notes: Building for Windows is a royal pain in the ***! The biggest problem isbuilding the various libraries the 'right' way, i.e, as DLL files. Thisrequires a majic Windows macro to export the symbols for the DLL, but anothermajic macro for code that uses the symbols in a DLL. For software originallynot designed to be portable across Unix and Windows, this requires changingalot of source files. Examples of software that is written for portability: zlib, tcl Examples of software that is not: proj, mapserverThe alternative: compile the source library code, and bundling it intoa standard library file, e.g., libz.a, libjpeg.a, libttf.a, etc.We then take all of the libraries and create our final DLL, libMapscript.dll.The downside is that we're not allowing any reuse of the libaries, but theupside is we don't have to change much exisiting code. I do this method.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -