本教程是参考(
https://www.cnblogs.com/zuisanlang/articles/2284471.html)写的。由于中间遇到了点问题,所以想自己写一个非常详细的教程,也可移步上面的地址,有问题再回来看。
GAlib编译必看教程:1:
https://www.cnblogs.com/zuisanlang/articles/2284471.html
2:
https://blog.csdn.net/yanchenyu365/article/details/84066127(
如果确实可以,那在char前面加const即可)
GAlib官方网站:
http://lancet.mit.edu/ga/
1:下载解压
2:将源文件后缀由“.C”改为“.cpp”
-
搜索cmd
-
打开GAlib下的ga目录如E:\Program\GA\galib247\galib247\ga,命令为:cd E:\Program\GA\galib247\galib247\ga,如果不能更改目录则添加/d强制转换,命令为:d /d E:\Program\GA\galib247\galib247\ga
-
运行命令: rename *.C *.cpp
-
如图
-
查看E:\Program\GA\galib247\galib247\ga目录可以看到文件后缀均有.C均变为.cpp
3:源文件修改
-
创建win32控制台程序(删除里面创建的示例程序)
-
把ga文件夹单独复制到控制台程序根目录下,并只保留其中的“.cpp”".h"文件
-
如图
-
将ga文件夹中的文件分别添加到解决方案的头文件和源文件中(文件按照类型排序方便选择)
-
因为我们在第一步中将所有.c修改为.cpp文件,因此需要将所有引用.c文件的文件作相应修改。 [] 选择“编辑->查找和替换->在文件中替换,根据下表内容进行替换(注意文件夹别搞错了)
原文本 新文本
<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>
[]选择“编辑->查找和替换->在文件中替换,根据下表内容进行替换
原文本 新文本
<stdio.h> <cstdio>
<stdlib.h> <cstdlib>
<assert.h> <cassert>
<limits.h> <climits>
<time.h> <ctime>
<math.h> <cmath>
<string.h> <cstring>
4:源文件配置
-
右键GAlib,选择最后一个“属性",将左上角配置中内容更改为”所有配置“
-
将”配置类型“改为"静态库(.lib)"
-
在"cC/C++ -> 常规",在"附加包含目录"中添加路径“E:\Program\GA\galib247\GAlib”
-
点击“C/C++ -> 预处理器”,将“预处理器定义”改“_CRT_SECURE_NO_DEPRECATE”,
-
编译问题 1:不知是不是电脑问题,必须改为x64,不然提示找不到.h文件 2:C2440错误,参考开始提到的参考网址( https://blog.csdn.net/yanchenyu365/article/details/84066127),在gaerror.cpp的第24行起前面添加const
-
编译:“编译 ->生成解决方案“
5:生成项目
-
解决方案GAlib -> 右键 -> 添加 -> 新建项目 -> 控制台应用程序 -> 名称test
-
删除示例文件,将example中文件全部改为cpp文件放到test根目录下,导入案例1 ex1
-
右键点击工程ex1,选择“属性”,在左上角的“配置”改为“所有配置”。
-
点击“C/C++ -> 常规”,将“附加包含目录”改为“ E:\Program\GA\galib247\GAlib ”(包含GAlib的文件夹)。
-
点击“C/C++ -> 代码生成”,将“运行时库”改为“多线程(\MT)”。
-
点击“C/C++ -> 预处理器”,将“预处理器定义”改为“_CRT_SECURE_NO_DEPRECATE”。
-
点击“C/C++ -> 预编译头”,将“创建/使用预编译头”改为“不使用预编译头”。
-
链接器 ->输入 ->附加依赖项-> GAlib.lib
-
链接器 -> 常规 ->附加库目录 -> ..\GAlib\x64\Release
-
右键点击项目ex1,生成依赖项 ->项目依赖项,在“依赖于”中选择“ga”。
-
右键点击项目ex1,选择“设为启动项目”。运行项目,选择“调试 -> 开始执行(不调试)”。
-----------------------------------------------------------------------------------------------------------------------------------------------------------
其实在第三步源文件修改以后就可以按照正常的步骤生成程序了,这个步骤是生成静态依赖库使用的