nmake编译
1. windows编译GDAL+GEO+PROJ4(傻瓜教程)
一、编译GEOS库
编译GEOS库有nmake编译与cmake-gui编译两种方法。
nmake编译流程如下:
1. 解压源码到指定路径。
2. 修改nmake.opt文件,根据编译目标(32位或64位)、Debug或Release模式调整相关配置。
3. 打开VS的命令提示符,切换至指定路径,执行编译命令。
4. 编译完成后,会在特定目录生成geos相关的库文件。
cmake-gui编译流程如下:
1. 使用cmake-gui设置编译路径、输出目录。
2. 配置完成后,点击generate按钮。
3. 执行编译,编译完成的bin、include、lib文件将存储于设置的输出目录。
二、编译proj库
使用cmake-gui编译proj库,设置输出路径,确保生成动态库。
三、编译GDAL库
基于已编译的GEOS库,调整nmake.opt文件,配置GDAL_HOME路径与相关依赖。
针对debug版本,需在nmake.opt中添加特定配置。
设置Proj库相关参数,确保动态链接。
使用nmake命令执行编译、生成操作。
四、注意事项
在将geos库集成至GDAL时,确保geos库路径无空格,否则可能导致头文件无法识别。
2. 如何用vs和makefile文件进行编译
运行cmd.exe (or command.com in win9x)->进到vc/bin目录->运行vc-vars32.bat->进到makefile 所在的目录->nmake /f makefile
从sourceforge上下载下来的libjpeg源代码中有一个makefile.vc的文件,可以通过nmake /f makefile.vc [nodebug=1]来编译libjpeg,但是只能编译静态库,如果需要编译dll以便在emacs等程序中使用的话,需要修改makefile.vc和jmorecfg.h文件。在makefile.vc文件中添加编译dll规则:
以下内容为程序代码:
libjpeg.lib: $(LIBOBJECTS) $(RM) libjpeg.lib lib -out:libjpeg.lib $(LIBOBJECTS) #
添加以下这行 libjpeg.dll: $(LIBOBJECTS) $(RM) libjpeg.dll link -dll -out:libjpeg.dll $(LIBOBJECTS) 在jmorecfg.h中添加#define _WIN32_#define JPEG_DLL 然后nmake /f makefile.vc nodebug=1就可以编译了。
将makefile复制为一个.mak文件,然后用VC打开即可!
.mak 就是一个makefile
可以指定怎样编译(命令行,必须先设置VC命令行环境)
vcvars32.bat可设置环境,在vc98/bin下 nmake /f XXXX.mak
如果有一个makefile就只要nmake就可以了。
3. 在VC里如何用Makefile文件编译
在Visual C++中编译使用Makefile文件,首先打开命令提示符(cmd.exe)或在Windows 9x中使用command.com,然后进入Visual C++的bin目录,运行vc-vars32.bat设置环境变量。之后进入Makefile所在的目录,并使用nmake /f makefile进行编译。从sourceforge下载的libjpeg源代码包含了一个makefile.vc文件,通过nmake /f makefile.vc [nodebug=1]可以编译静态库,但若需编译成dll,以便在如emacs等程序中使用,则需对makefile.vc和jmorecfg.h文件进行修改。
在makefile.vc文件中,需添加编译dll的规则如下所示:
libjpeg.lib: $(LIBOBJECTS)
$(RM) libjpeg.lib
lib -out:libjpeg.lib $(LIBOBJECTS)
添加以下行:
libjpeg.dll: $(LIBOBJECTS)
$(RM) libjpeg.dll
link -dll -out:libjpeg.dll $(LIBOBJECTS)
在jmorecfg.h中添加:
#define _WIN32_
#define JPEG_DLL
修改完成后,使用nmake /f makefile.vc nodebug=1即可编译。
将makefile复制为.mak文件,通过Visual C++打开即可,.mak文件实质上就是一个makefile文件,它能够指定编译的具体命令,以及必须先设置VC命令行环境。
vcvars32.bat用于设置环境变量,在Visual C++ 98的bin目录下执行nmake /f XXXX.mak,如果有makefile文件,则直接使用nmake即可。
这种方法适用于需要自定义编译规则或特定环境配置的情况,通过修改makefile文件,可以实现更灵活的编译方式。
4. Qt 之 qwt 和 qwtpolar 的编译配置
Qt 中 qwt 和 qwtpolar 的编译配置步骤如下:
一、Qwt 的编译配置
下载与解压:
- 从 qwt.sourceforge.io 网站下载最新版本,例如 qwt6.1.4。
- 解压至指定目录,如 D:Qtqwt6.1.4。
- 修改 qwtconfig.pri 文件,注释掉相关行,确保配置正确。
编译:
- 打开 Qt 编译器。
- 切换至 Qwt 目录,运行 qmake qwt.pro 生成 Makefile。
- 执行 nmake 和 nmake install 完成编译和安装。
- 在 qwt 目录下,进入 examples 目录,执行 qmake examples.pro 和 nmake 以编译示例。
二、Qwtpolar 的编译配置
下载与解压:
- 下载 Qwtpolar 的源代码包,解压至指定目录。
编译:
- 修改 qwtpolarconfig.pri 和 qwtpolarbuild.pri 文件,确保配置正确。
- 运行 qmake qwtpolar.pro 生成 Makefile。
- 执行 nmake 和 nmake install 完成编译和安装。
三、额外配置
工程配置:
- 在每个使用 Qwt 和 Qwtpolar 的 .pro 文件中,指定库文件和头文件的路径。
环境变量:
- 增加 qwt.prf 所在目录至环境变量中。
文件复制:
- 将 qwt.lib、qwtd.lib、qwt.dll、qwtd.dll 以及 qwt_designer_plugin.dll 文件复制至 Qt 安装目录下的对应子目录中。
- 将所有头文件复制至 Qt 安装目录下的 include/Qwt 文件夹中。
四、使用
- 在完成上述配置后,使用 Qwt 和 Qwtpolar 时,只需在 Qt 项目的 .pro 文件中添加对应的模块名称。
注意: 如在 Qt Creator 中未能显示 QwtWidgets 和 QwtPolarPlot 的 UI 设计界面,但在单独打开 Designer 时能正常显示,可能是项目设置或 Qt Creator 配置问题。建议检查 Qt Creator 的设置、项目构建配置或参考 Qt 官方文档。