2009-06-27 2 views
20

우리는 건물을 위해 scons를 사용하는 꽤 큰 C/C++ 프로젝트를 가지고 있습니다. 이클립스 -CDT를 통해 이것을 구현하려는 시도를하고 싶다. 누구나 이것에 대한 경험이 있고 나에게 빌더로서 스콘을 설치하는 단계를 말해 줄 수 있습니다. (SConsBuilder 플러그인을 사용하지 않으면 Fedora-11의 Eclipse-CDT에서 작동하지 않습니다).Eclipse CDT로 SCons 프로젝트를 빌드하는 방법은 무엇입니까?

답변

11

나는 지금까지 Waf in Eclipse CDT을 시도했지만, SCons는 정말 유사합니다. 해결 방법은 빈 Makefile 프로젝트를 만든 다음 옵션에서 "make"를 "scons"로 변경하는 것입니다. Windows에서 아마도 경로에 scons.bat 파일이 필요할 것입니다. 이는 all:\n\tscons 타입 패턴을 가지고있는 더미 Makefile을 만드는 것보다 낫지 만 최소한의 작업입니다.

SConsBuilder plugin은 좋지 않습니다. 거기에는 하드 코딩 된 파이썬 코드가 많이있어 SConstruct에 침투합니다. 그것은 시대에 업데이트되지 않았으며 많은 코드가 지금까지 SCON에서 사용되지 않을 것입니다. 더 나은 접근법은 SCons가 Visual Studio를 위해 무엇을하는지, 또는 CMake가 Eclipse CDT를 위해 무엇을하는지하는 것입니다. 이는 빌드 구성에 따라 즉석에서 .cproject 파일을 생성하는 것을 의미합니다.

나는 한 곳에서 소스 파일을 모으는 빌드 노드를 걷고 .project와 .cproject 파일을 뱉어 낸 Eclipse project generator for Waf을 썼다. CMake가하는 것과 비슷하지만 Waf의 변형 된 디렉토리를 만드는 기본 동작은 소스 밖의 빌드 문제를 다룰 필요가 없다는 것을 의미합니다. 이후 extra in waf itself으로 추가되었습니다. Waf API의 일부만 사용하므로 일부 작은 양의 작업으로 SCons로 변환 할 수 있습니다. 다른 말로는 그곳에는 아무 것도 없습니다. .cproject 형식은 실제로 어디에도 문서화되어 있지 않으며 Java 버전과 비교하면 정말 못생긴 형식입니다.

비록 Java 개발 도구의이면에는 CDT가 너무 잘 맞지 않았지만, 여전히 Vim을 :make과 함께 사용하기 때문에 결국 조금 학문적이었습니다.

14

당신은 중요한 목표 단순히 대표는

.PHONY: all clean install 
default: all 
all:  
    scons 
clean: 
    scons -c 
install: 
    scons install 

을 SCons는 할 수있는 Makefile을 사용할 수는 그런 다음 상자에서 "표준 C 프로젝트 만들기"사용할 수 있습니다.

16

학생들 중 한 명이 SCons 파일을 가져 와서 해당 설정으로 Eclipse CDT 프로젝트를 채울 수 있고 Eclipse 프로젝트 설정에서 SCons 파일을 생성 할 수있는 양방향으로 작동하는 Eclipse CDT 용 SCons 통합을 구현했습니다. 또한 대화 형 SCons 모드를 제공하여 대규모 SCons 프로젝트의 점진적인 구축 속도를 크게 높입니다. 곧 공개 될 예정입니다. http://sconsolidator.com

+1

와우 좋아 보인다. 학생들에게 명성. – supertux

+0

나는 sconsolidator를 사용했기 때문에 이것을 투표했습니다. 유일한주의 사항은 닫힌 소스라는 것입니다. 오픈 소스가 아니라면 널리 사용되는 것은 아닙니다. –

+0

나는 sconsolidator를 시도했는데, 아아, 우리 프로젝트에서 작동하지 않습니다. 설정 가져 오기를 수행하는 중에 문제가 발생했으며 콘솔에 잘못된 정보 (콘솔 디스플레이가 비어 있음)에 대한 자세한 정보가 있다고 주장합니다. 오 잘. –

4

그냥 빌더 설정을 변경하고 플러그인은 필요하지 않습니다. 외부 빌더를 선택하고 make 대신 scons를 설정하고 workdir을 dir에 설정하여 SConstruct를 배치하십시오.

이제 대상 만들기보기를 사용하여 scons 빌드 명령을 만들고 make 명령과 같이 실행할 수 있습니다. scons가있는 오류 파서는 기본적으로 잘 작동하며 추가 구성은 필요하지 않습니다.

0

Sconsolidator를 기존 프로젝트와 함께 사용할 때는 매우주의해야합니다 !! 링크를 클릭하면 프로젝트에 SCons 속성을 추가 할 때 프로젝트의 루트 디렉토리에있는 기존 SConstruct/SConscript 파일을 맹목적으로 덮어 씁니다. (이 문제는 프로젝트에 버그로보고하려고하는데, 지금까지 모든 차례에 차단되었습니다.)

+0

여기에서 문제를보고 할 수 있어야합니다. http : //sconsolidator.com/projects/sconsolidator/issues –

관련 문제