Системный вызов C ++ с Weka

Я пишу проект C ++, который иногда будет использовать system позвоните в Weka, чтобы получить информацию о машинном обучении. Сначала я хотел бы убедиться, что модель обучения (training.model) до даты. Итак, в начале основного я звоню:

system("\"java weka.classifiers.trees.J48 -t ML_data.arff -d training.model\"");

Что дает Error: could not find or load main class weka.classifiers.trees.J48, Я знаю, что это значит, поэтому я переместил всю папку проекта Weka под названием Weka-3-6, в каталог, в котором находится мой проект. Итак, я попробовал:

system("\"java \Weka-3-6\\weka.classifiers.trees.J48 -t ML_data.arff -d training.model\"");

Но это возвращается Error: could not find or load Weka-3-6\weka.classifiers.trees.J48,

Я чувствую, что нахожусь в правильном соседстве, но я не могу получить правильные слэши, и я предпочел бы не связываться с абсолютными путями, потому что в папках есть пробелы, и это делает его еще более запутанным. Есть идеи? Помощь очень ценится.

0

Решение

Откройте окно терминала / cmd и попробуйте запустить команду в строке терминала / cmd. Ниже приведен пример командного сценария cmd для Windows. Ваша проблема, скорее всего, настройки Java classpath, а не weka проблема. Если вам удастся выполнить следующую команду, попробуйте еще раз ввести команду с помощью c ++.

SET WEKA_HOME=C:\Program Files\Weka-3-7
SET CLASSPATH=%CLASPATH%;%WEKA_HOME%\weka.jar
SET HEAP_OPTION=-Xms4096m -Xmx8192m
SET JAVA_COMMAND=java %HEAP_OPTION%
%JAVA_COMMAND% weka.core.SystemInfo
0

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

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

По вопросам рекламы [email protected]