Как я могу использовать исходный код CLIPS в моем проекте C ++?

во-первых, я изменил расширение исходного кода на .cpp. И добавить их все в мой проект C ++.

исходные файлы .jpg

second.im моя основная функция, я кодирую это:

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

после съемки какой-то ссылки и компиляции ошибки она работает нормально, но это просто IDE CLIPS, а не моя программа.
именно так:
результат .jpg

Я думаю, что есть еще одна основная функция, но я не знал, где, поэтому, пожалуйста, помогите. Как я могу использовать исходный код, а не DLL в проекте C ++.

0

Решение

Ваше объяснение очень запутано и опускает детали, но я думаю, что вам нужно (на самом простом уровне):

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(); }

main() находится внутри ClipsEmbed пространство имен, поэтому для удовлетворения компоновщика вам нужен простой main() в глобальном пространстве имен, поэтому самое простое решение, как показано на рисунке, вызывает main() от глобального main(),


Следующий отзыв:

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

Может помочь?

0

Другие решения

Других решений пока нет …