移植GAlib2.4.7到Visual Studio 2008

GAlib是什么?

“GAlib contains a set of C++ genetic algorithm objects. The library includes tools for using genetic algorithms to do optimization in any C++ program using any representation and genetic operators. The documentation includes an extensive overview of how to implement a genetic algorithm as well as examples illustrating customizations to the GAlib classes.”

from http://lancet.mit.edu/ga/

=====================================================================================

如果你找到本篇文章,并想移植GAlib,这时候你应该对GA-Genetic Algorithms,即遗传算法有一定了解了,这里就不介绍了。

=====================================================================================


移植步骤:

Step 1.将"..\galib247\ga"中的源文件文件名后缀由“ .C ”修改成“ .cpp ”


Step 2.创建Win32控制台应用程序并选择空项目,设置个项目名字,如本文采用GALIB_original or GAlib247 whatever~

移植GAlib2.4.7到Visual Studio 2008_第1张图片


Step 3.源文件中添加"..\galib247\ga\*.cpp"文件,在头文件中添加"..\galib247\ga\*.h"文件


Step 4.设置工程属性★★★★★

常规(“配置属性”->“常规”)

        配置类型 = 应用程序.exe

       公共语言运行时支持 = 无公共语言运行时支持(这是默认选项)


C/C++->常规(“配置属性”->“ C/C++ ”->“常规”)

       附加包含目录 = .. 

移植GAlib2.4.7到Visual Studio 2008_第2张图片

本文的工程名字是:GALIB_original 

C/C++->预处理器(“配置属性”->“ C/C++ ”->“预处理器”)

       预处理器定义 = _CRT_SECURE_NO_DEPRECATE; COMPILE_GALIB_AS_LIB (这2个预处理器符号可以在makevars.vcpp中找到)



C/C++->预编译头(“配置属性”->“ C/C++ ”->“预编译头”)

      创建/使用预编译头 = 不使用预编译头(这是默认选项)


C/C++->高级(“配置属性”->“ C/C++ ”->“高级”)

      编译为 = 编译为C++代码/TP   



Step 5.编译,文件未找到错误错。

由于我们在Step 1中,对文件进行了改名(将.C改名为.cpp),我们同样需要将源码中include的源文件改名。在vc2008 IDE中,选择“编辑”菜单->“查找和替换”->“在文件中替换”,根据下表中的内容进行替换,报错之后,双击错误一个一个改过来就好了。

Original Text(要替换的文本) New Text(替换后的文本)
<ga/gatree.c> <ga/gatree.cpp>
<ga/gaallele.c> <ga/gaallele.cpp>
<ga/galist.c> <ga/galist.cpp>
<ga/gatreegenome.c> <ga/gatreegenome.cpp>
<ga/ga1darraygenome.c> <ga/ga1darraygenome.cpp>
<ga/ga3darraygenome.c> <ga/ga3darraygenome.cpp>
<ga/ga2darraygenome.c> <ga/ga2darraygenome.cpp>
<ga/galistgenome.c> <ga/galistgenome.cpp>

Step 6. 测试,新建main.cpp,并将“..\galib247\examples\ex1.C”中的内容复制过来即可。

移植GAlib2.4.7到Visual Studio 2008_第3张图片

编译-->运行-->结果

(注意:在return处设置个断点,不然就闪过去了)



工程代码

Good Luck~~~

参考:http://www.cisco-club.com.cn/space-167847-do-blog-id-7957.html

GAlib Homepage

移植GAlib2.4.7到Visual Studio 2008_第4张图片

你可能感兴趣的:(遗传算法,GAlib)