Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何在C+;中使用CLIPS源代码+;项目_C++_Clips - Fatal编程技术网

C++ 如何在C+;中使用CLIPS源代码+;项目

C++ 如何在C+;中使用CLIPS源代码+;项目,c++,clips,C++,Clips,首先,我将源代码的扩展名改为.cpp。并将它们全部添加到我的C++项目中。 second.im是我的主要函数,我编写了以下代码: namespace ClipsEmbed{ int main(){ Environment *theEnv; theEnv = CreateEnvironment(); cout << Load(theEnv, "auto.clp"); Reset(theEnv); Run(theEnv,-1L); return 0; } } 名称空间ClipsEmb

首先,我将源代码的扩展名改为.cpp。并将它们全部添加到我的C++项目中。

second.im是我的主要函数,我编写了以下代码:

namespace ClipsEmbed{
int main(){
Environment *theEnv;
theEnv = CreateEnvironment();
cout << Load(theEnv, "auto.clp");
Reset(theEnv);
Run(theEnv,-1L);
return 0;
}
}
名称空间ClipsEmbed{
int main(){
环境*theEnv;
theEnv=CreateEnvironment();

你的解释很混乱,遗漏了细节,但我认为你需要的是(最简单的层面):


可能会有帮助吗?

我在
名称空间中添加了您遗漏的代码。此外,您真的应该包括实际的链接错误,否则我们只是在这里摸黑。并且不要发布代码链接;直接在问题中发布实际的代码。您不需要更改剪辑源文件的扩展名。大多数cOMPrimes提供了一种编译C代码作为C++代码的选项。例如,在GCC中,“-x C++”选项将编译Cclipse源文件作为C++。@ GaryRiley没有链接Erro,但它只是在剪辑内部运行主(),而不是clipSSEBAB::MIN()。在剪辑源代码内部,但我无法禁用它。当我运行我的项目时,将调用源代码的main()。因此,我的问题是,如何禁用它。编译代码时不要包含main.c。最终没有链接错误,但它只是在剪辑内部运行main(),而不是ClipsEmbed::main()。我知道原因是CLIPS源代码中有另一个main(),但我无法禁用它。当我运行项目时,将调用源代码的main()。因此,我的问题是,如何禁用它。如果尝试
extern“C”int main()
,会发生什么?这可能有助于覆盖内置的main。这将导致错误“_main已在main.obj中定义”。您知道源代码中另一个main()的位置吗?可能需要更改源代码。
namespace ClipsEmbed{
int main(){
Environment *theEnv;
theEnv = CreateEnvironment();
cout << Load(theEnv, "auto.clp");
Reset(theEnv);
Run(theEnv,-1L);
return 0;
}
}

int main () { return ClipsEmbed::main(); }
extern "C" int main () { return ClipsEmbed::main(); }