2013-06-12 2 views
0

일부 기계 학습 정보를 얻기 위해 Weka에 system 호출을 때때로 사용하는 C++ 프로젝트를 작성 중입니다. 먼저 교육 모델 (training.model)이 최신 버전인지 확인하고 싶습니다. 그래서, 본부 시작에 전화 :시스템 호출 C++ with Weka

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-3-6이라는 Weka 프로젝트 폴더 전체를 옮겼다. 그럼 내가 시도 :

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 프롬프트에서 명령을 실행 해보십시오. 다음은 Windows 용 cmd 일괄 스크립트 예제입니다. 문제는 자바 클래스 패스 설정이 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