如果需要改写SWMM模型的源代码,通常需要重新编译生成新的动态链接库,也就是常说的DLL,将SWMM 5源码编译为DLL的主要步骤如下:
1. 在EPA官网上下载SWMM模型计算引擎源代码后解压,里面包含了模型代码源文件。在对代码进行必要的个性化修改后(如果不需要修改代码,就完全没有必要自己重新编译了,安装SWMM软件后,安装文件下就有计算引擎的DLL文件)就可以进行接下来的工作了。
2. 新建工程:以VC6.0为例,点击文件/新建→工程;选择”win32 dynmaic-link library”,输入工程名字,如SWMM 5,在“位置”下输入新工程存储的路径,点击下方的“确定”;
3. 选择“一个空的工程”,点击“完成”;在弹出的对话框中点击“确定”;
4. “工程”菜单中选择“添加到菜单”→文件,然后把文件夹中的包括头文件在内的SWMM源文件(均以.c,.h后缀)全部添加到工程。
5. 在swmm5.c中取消define DLL前的注释,使代码为如下形式:
//#define CLE
//#define SOL
#define DLL
6. 选择“组建”中的“编译 SWMM5 ”,在出现的对话框选择“是”,然后再选择”build”中的”execute swmm5″就完成了整个文件的编译和执行。生成的debug文件夹中有swmm5.DLL。
7. 最后,把swmm5.def文件添加到工程中重新编译一次。
更多讨论可加入SWMM模型QQ群:157029719
您好,请问为什么按照上述方法编译程序出现错误呢?
@朱:这个方法已经过时,直接去EPA官网上下载SWMM模型的源码包,用VS2010或者其它版本即可生成。
请教下,SWMM GUI在delphi7中怎么编译
@SWMM爱好者 您好,我平时需要界面时都是基于GIS重新设计界面,对SWMM图形化界面的编译未做深入研究,无法解答您的问题。
您好,请问可以写一篇图文解释如何编译swmm动态链接库源代码的文章吗,我试了很多次,都没有成功。谢谢
您平时在二次开发的过程中,会采用读取rpt文本文件的形式吗
@胡 对于简易的二次开发,是可以采用这个模式,我们目前一般都深度二次开发,不会再采取这种方式,而是基于内存交互,不过这样已经属于比较复杂的了。
你好,最近需要进行基于GIS和SWMM的二次开发学习,不知道冲哪一方面入手,能不能提供一点相关的资料吗
你好,我用vs2010生成dll文件时老是失败,请问你有用vs2010生成dll文件的详细教程吗?
Exception in thread “main” java.lang.UnsatisfiedLinkError: Unable to load library ‘swmmh5′: 找不到指定的模块。java调用swmmh5.dll报找不到,但路径是正确的。
您好,请问如果只是想对SWMM的代码进行少许的修改,修改后应怎样操作呢?大瓜老师说的“用VS2010或者其它版本即可生成”,这个应该具体怎么操作呢?需要生成新的dll文件放软件安装包吗?