0
Scons에 내 컴파일러에서 지원하는 옵션 (예 : -fcilkplus
)을 확인하고 싶습니다. 실패하면, 나는 두 가지 옵션 추가를 제거해야 지금컴파일러 옵션에 대한 Scons 검사
def CheckCilkPlusCompiler(context):
test = """
#include <cilk/cilk.h>
#include <assert.h>
int fib(int n) {
if (n < 2) return n;
int a = cilk_spawn fib(n-1);
int b = fib(n-2);
cilk_sync;
return a + b;
}
int main() {
int result = fib(30);
assert(result == 832040);
return 0;
}
"""
context.Message('Checking Cilk++ compiler ... ')
result = context.TryRun(test, '.cpp')
context.Result(result[0])
return result[0]
: 그럼 난 실행 내 사용자 지정 검사
env.Prepend(CXXFLAGS = ['-fcilkplus'], LIBS = ['cilkrts'])
: 나는 그것을 관리 할 수있는 유일한 방법은 작업의 다음과 같은 순서입니다 환경 변수에서 플래그 cilkrts
. 그렇게 할 수있는 더 좋은 방법이 있습니까?
문제는 컨텍스트에서 env
에 액세스 할 수 없으므로 이므로 복제 할 수 없습니다.
고마워요.하지만이 모든 것을 이미 알고 있습니다. 제 질문은 컴파일러 옵션 *을 확인하는 것입니다. '-fcilkplus '는 유스 케이스 일 뿐이다. 나는 그것을 명확하게하기 위해 나의 질문을 편집했다. – hivert