문제

나는 아무런 문제가없는 Make 기반 코드베이스와 함께 Sbox를 사용하고 있습니다. 이제 Scons 기반 코드베이스를 사용하고 있으며 이상한 문제가 발생합니다.

스크래치 박스 내에서 스콘은 g ++를 찾을 수없는 것 같습니다. 예를 들어, 다음과 같은 것들을 실행하려고합니다.

o 안녕하세요 안녕하세요 .C

해야 할 때 :

g ++ -o 안녕하세요 안녕하세요 .C

아마도 그 g ++ 문자열 변수는 비어있을 것입니다. G ++가 존재하고 경로에 있습니다 - "g ++"는/스크래치 박스/컴파일러/bin/g ++를 생성합니다.

동일한 소스가 Scratchbox 외부에서 잘 구축되므로 Scons 또는 Codebase에 문제가되지 않아야합니다. 스크래치 박스 외부에서 작동 할 때 특별한 환경 변수가 없습니다.

상징적으로/usr/bin/g ++ to/scratchbox/compilers/bin/g ++를 링크하면 조금 더 나아가게됩니다 (올바른 G ++ 명령을 생성).

SB_GCC_WRAPPER (G ++) :/스크래치 박스/컴파일러/ARM-LINUX-CS2007Q3-51SB3/BIN/SBOX-ARM-NONE-LINUX-GNUEABI-G ++ : 그러한 파일 또는 디렉토리가 없습니다.

나열된 파일 ~이다 현재.

경로에는/스크래치 박스/컴파일러/빈, sbox_redirect_from_dirs가 포함되어 있습니다. ~해야 한다 그것을 찾을 수 있습니다.

모든 제안은 감사하겠습니다! 고마워요, 레이

편집 : 아마도 관련 - Scons 파일 내에서 전체 경로를 선출하지 않으면 pkg -config도 찾을 수 없습니다.

도움이 되었습니까?

해결책

SCONS는 경로 환경 변수를 전파하지 않으므로 'g ++'를 테스트하면 많은 도움이되지 않습니다.

Either set the compilers directly, e.g.
env['CXX'] = '/scratchbox/compilers/bin/g++'

자신의 명시 적 경로를 구축하십시오

path = ['/scratchbox/compilers/bin/','/bin', '/usr/bin', '/sbin','/usr/sbin']
env = Environment(ENV = {'PATH' : path})

또는 쉘에서 Path Env 변수를 사용하십시오

import os
env = Environment(ENV = {'PATH' : os.environ['PATH']})
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top