2011-01-14 7 views
1

SCons에 지정된 바이너리/실행 가능 디렉토리는 어떻습니까?SCons 바이너리 디렉토리

Program(target = 'bin/helloworld', source = 'src/helloworld.cc') 

크로스 플랫폼 빌드를 할 때 문제가 발생합니다. 다음은 작동하는 예제입니다.

이 출력은 Unix 시스템에서 libhelloworld.a라는 라이브러리입니다. 다음 예제는 작동하지 않습니다.

StaticLibrary(target = 'lib/helloworld', source = 'src/helloworldlib.cc') 

이 Unix 시스템의 출력은 lib 디렉토리의 helloworld.a 파일입니다. 이것은 LIBS가 [ 'helloworld']로 지정되었을 때 문제를 일으 킵니다.

StaticLibrary, SharedLibrary 및 Program에 전달할 매개 변수 이름은 기본 디렉토리가 아닌 다른 디렉토리에 바이너리를 출력합니까?

답변

1

manual은 소스 디렉토리에서 변형 디렉토리와 SConscript 파일을 사용하는 것이 좋습니다.

StaticLibrary(target="helloworld", source="helloworldlib.cc") 

을 주 SConstruct 파일에서 해당 전화 : 당신의 예에서 src 디렉토리에 SConscript 파일을 배치

SConscript("src/SConscript", variant_dir="lib") 
+0

변형이를 제어하지 않습니다. SCon * 파일이있는 곳마다 결정됩니다. – Jonathan