我检查了weibsite的更新代码:http://sourceforge.net/projects/clipsrules/
当我构建CLPSStactic项目时,输出窗口中显示错误:
..\clipscpplib.cpp(281):error C2664:
"EnvAddRouterWithContext": cannot convert parameter 4 from "int (__cdecl *)(void *,const char *) to "int (__cdecl *)()""
注意:
我想知道为什么会出现这个错误,是否与VS版本或其他任何内容有关?怎么解决这个问题?
谢谢!
@Gary Riley 如果你有时间,请看看这个。谢谢!
答案 0 :(得分:1)
您正在使用错误的项目/解决方案。下载最新提交(r281)。您要使用的microsoft_windows目录中的解决方案文件夹是CLIPS_MVC_2010,CLIPS_MVC_2013,Examples_MVC_2010和Examples_MVC_2013。由于您使用的是Visual Studio 2012,因此您可能希望使用2010目录。 “高级编程指南”中的说明专门参考了这些目录。不要在Installer目录中使用任何内容。您需要将CLIPS源代码文件从核心目录复制到microsoft_windows / Source / CLIPS目录,因为它们不会在存储库中复制。
答案 1 :(得分:0)
我自己解决了这个问题。有详细信息:
从“core”文件夹(http://sourceforge.net/p/clipsrules/code/HEAD/tree/)复制“router.h”和“router.c”文件 到文件夹“microsoft_windows / Source / CLIPS”,并删除文件夹“../ CLIPS”中的两个原始文件。
请勿将“core”文件夹中的所有文件复制到“CLIPS”。它也不会使CLIPSStatic项目成功。似乎“core”文件夹的“aggenda.h”或“aggenda.c”中存在问题。
我认为问题是项目CLIPS在名为“Installer”的文件夹中生成的“router.h”和“router.c”不是最新版本。
如果您检查了同一网站的代码,并使用了相同的版本VS.你也可能遇到这个问题。这种方式可以帮助您解决问题。