2016-06-21 2 views
2

Eclipse를 프로그래밍 방식으로 C/C++ 프로젝트를 가져 오는 방법에 대한 도움이 필요합니다.프로그래밍 방식으로 C/C++ 프로젝트 가져 오기

이것은 외부 도구가 C++ 프로젝트의 모든 파일을 만드는 플러그인 개발의 일부이며, 플러그인은 해당 폴더의 프로그래밍 방식으로 현재 작업 영역으로 프로젝트를 가져올 수 있어야합니다.

나는 자바에 대해 같은 일을하지만없는 한 그것을 수행하는 방법을 이해하는 C/C 그래서 여기 ++

  • 의 .project 파일이 외부에 의해 생성되지 않도록 더 명확하다 도구
  • 수동으로 폴더를 이클립스로 "기존 프로젝트를 작업 공간으로"가져올 때 .cproject 및 .project 파일을 만들지 마십시오.
  • "makefile 프로젝트"로 가져 오면 이클립스는 .project와 .cproject 프로젝트 디렉토리에있는 파일.

나는 이미

에서 System.out.println ("CPP 프로젝트 열기") 아래의 코드에 의해 기존 프로젝트

로 가져 acheived있다; 내가 원하는

//IWorkspaceRoot wrkSpaceRoot = ResourcesPlugin.getWorkspace().getRoot(); 

    project = ResourcesPlugin.getWorkspace().getRoot().getProject("ABCD"); 

    //String path=""; 
    try { 

    //pMonitor.beginTask("creating CDT Project ", 0); 

    IProjectDescription projDesc = ResourcesPlugin.getWorkspace().newProjectDescription(project.getName()); 

    if (!("".equals(projectPath)) && projectPath != null) { 

    Path myPath = new Path(projectPath); 
    projDesc.setLocation(myPath); 

    } 

    IProject cdtProj = CCorePlugin.getDefault().createCDTProject(
    projDesc, project, null); 


    //if(create) cdtProj.create(projDesc, null); 
    cdtProj.open(null); 

    IWorkbench workbench = PlatformUI.getWorkbench(); 
    IWorkbenchWindow window = workbench.getActiveWorkbenchWindow(); 

    workbench.showPerspective("org.eclipse.cdt.ui.CPerspective", window); 

    }catch(Exception e){ 

     e.printStackTrace(); 

    } 

프로그래밍 작업 공간에 "메이크 프로젝트", "메이크 프로젝트로 파일 - 가져 오기 - 기존 코드"에 의해 수행 된 행동이 내가 원하는 즉

로 프로젝트를 가져 오는 것입니다 프로그래밍 방식으로 수행 할 수 있습니다.

+0

어떤 특정 문제가 있습니까? 다음과 같이 말하지 마십시오 :이 App/Plugin 아이디어의 코드는 무엇입니까? – Julian

+1

외부 도구에서 .project 파일을 만들었습니까? – Basilevs

+0

잘, 프로젝트 파일은 외부 공구에 의해 창조된다. 나는 생성 된 파일 목록에서 .project 파일을 보지 못한다. 그냥 makefile과 헤더와 cpp 파일. 내 문제는 "가져 오기 - makefile c 프로젝트"를 사용하여이 프로젝트를 프로그래밍 방식으로 작업 영역에 가져와야합니다. – svm

답변

1

Here은 CDT 소스 코드에서 "기존 코드를 Makefile 프로젝트로 가져 오기"작업을 구현 한 것입니다. 내가 만든 될 .cproject 파일의 원인을 생각

creatProjectDescription()setProjectDescription() 전화,하지만 난 100 % 확실하지 않다.

관련 문제