во-первых, я изменил расширение исходного кода на .cpp. И добавить их все в мой проект C ++.
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 ++.
Ваше объяснение очень запутано и опускает детали, но я думаю, что вам нужно (на самом простом уровне):
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(); }
Может помочь?
Других решений пока нет …