5.4 Dev-C++的使用与DLL的编译。
注:以下教程无需编程基础。
地区旗帜库中的图标有200多个,如果大量修改旗帜图标,再使用Resource Hacker一个个替换就显得太繁琐了。所以下面将介绍使用Dev-C++直接对大量图标“打包”的方法,也就是最正统直接编译countryflag32.dll的方法。
之所以用Dev-C++,主要是因为VC++笔者不会用~~
先安装Dev-C++ 4.9.9.2,安装过程是英文,不要紧,一路“next”,安装后打开,初始设置也是一路“next”。出现英文界面,点击菜单栏的“Tool”-->“Environment Options”,在弹出窗口中选择“Interface”标签,在“Language”下拉菜单中选择“Chinese”即可变为中文界面。


软件先放在一边,接着我们来看源码,解压地区旗帜库源码.7z,打开,可以看到几个文件,见下图说明


制作好的旗帜图标,要求260个地区必须都包括,一个不能差,并且按各自国家的2位英文缩写命名,国家与缩写的对应详见国家缩写+图标组序号(全部260个).txt


新建一个文件夹“countryflag32”,把“res”文件夹复制进去,然后把自己制作好的旗帜图标复制进“res”文件夹里,这里为了大家练手,可以把源码包中“res32”文件夹里的所有图标复制到“res”里。
打开Dev-C++,点击左上角的“新建工程”按钮,在“新工程”提示框中,选择“DLL”、“C++”工程,命名为“countryflag32”。


点击“确定”,选择“新工程”的保存位置为“countryflag32”文件夹,一定要保证新建的countryflag32.dev与图标存储文件夹“res”处在同一文件夹下!


点击“保存”,Dev-C++会在countryflag32工程下自动新建两个标准文件,这是我们不需要的,右键点击,选择“移除文件”,选择“不保存”。


然后右键点击“countryflag32”,选择“添加”,选择之前介绍的源码"flag.vcproj" "resource.h" "flag.rc" "flag.sln" 4个文件,点击“打开”。


添加完源码后,在菜单栏中选择“运行”->“编译”。出现“Compile Progress”提示框,过2、3秒钟后,显示“Done”,表示编译成功。


点击“关闭”后。这时,打开“countryflag32”文件夹,发现里面生成了很多乱七八糟的中间产物,不用管它们,在其中找到countryflag32.dll,这就是我们编译完成的地区旗帜库,把countryflag32.dll复制到eMule中的config文件夹里,打开eMule看看效果吧~~
最后“编译”过程中出现的常见错误,如下图,提示找不到“res\某某.ico”,这时请重新确定你新建的countryflag32.dev与图标存储文件夹“res”处在同一文件夹下,同时确定“res”文件夹下是否有提示的“某某.ico”,如果没有请制作好加入。


注:如果对“res”中的个别图标做了修改,然后编译新的DLL文件时,必须删除掉所有中间产物或者再新建一个文件夹,按照本文,重新建立工程,再编译。否则,编译出来的dll还是原来的,不会出现修改的内容。