2012-02-11 2 views
1

OSX Lion에서 실행되는 LLVM 용 Hello 패스 자습서를 따르고 있습니다. 나는 멀리 비트 코드를 만듭니다 lib/Transforms/Hello 디렉토리에 만들어으로 도착하고 안녕하세요 디렉토리에 이런 짓을 :안녕하세요 LLVM 로딩하지 않습니다.

$ opt -load ../../../Debug/lib/LLVMHello.dylib -hello <hello.bc> /dev/null 
opt: <stdin>: Unknown instruction 

나는이 검색 시도했지만 아무것도 찾지 못했습니다. 어떤 제안?

이 문제는 확실하지 않지만 gcc 4.2.1을 사용하고 있습니다.

감사

답변

2

그것은 당신의 LLVM-GCC와 LLVM은 동기/호환되지 않는 밖에있는 것을 의미한다. 잘못된 LLVM으로도 간단한 lli는 실패합니다

$ lli hello.bc 
lli: hello.bc: Unknown instruction 

당신은 어느 컴파일러에 해당하는 LLVM을 가져 오기 또는 LLVM 기반의 컴파일러를 사용할 수 있습니다. 전자의 경우는 --version를 사용하여 태그, 예를 얻을 수 있습니다 :

$ Debug/bin/lli hello.bc 
hello world 
$ Debug/bin/opt -load Debug/lib/LLVMHello.dylib -hello <hello.bc >/dev/null 
Hello: main 
:

$ llvm-gcc-4.2 --version 
i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple Inc. 
build 5658) (LLVM build 2335.15.00) 

당신이 일치하는 LLVM을 일단 당신이 모두 잘

http://llvm.org/svn/llvm-project/llvm/tags/Apple/llvmCore-2335.15 

에서 해당 LLVM을 얻을 수 있다는 것을 의미합니다

+0

고마워요! 나는 clang을 사용하여 오류를 없앴습니다. – omikun

관련 문제