Build 无法在cygwin上构建llvm
我目前正试图通过Cygwin在Windows上构建llvm 3.3 编译进行得很顺利,但在链接过程中生成崩溃,出现以下错误:Build 无法在cygwin上构建llvm,build,cygwin,llvm,Build,Cygwin,Llvm,我目前正试图通过Cygwin在Windows上构建llvm 3.3 编译进行得很顺利,但在链接过程中生成崩溃,出现以下错误: llvm[2]: ======= Finished Linking Release+Asserts Executable llvm-mc (without symbols) make[2]: Leaving directory `/cygdrive/c/Users/Jupotter/Code/llvm-3.3.src/build/tools/llvm-mc' llvm[2
llvm[2]: ======= Finished Linking Release+Asserts Executable llvm-mc (without symbols)
make[2]: Leaving directory `/cygdrive/c/Users/Jupotter/Code/llvm-3.3.src/build/tools/llvm-mc'
llvm[2]: Compiling ExecutionDriver.cpp for Release+Asserts build
/cygdrive/c/Users/Jupotter/Code/llvm-3.3.src/build/Release+Asserts/lib/libLLVMMCJIT.a(SectionMemoryManager.o):SectionMemoryManager.cpp:(.text+0x3b): référence indéfinie vers « __register_frame »
/cygdrive/c/Users/Jupotter/Code/llvm-3.3.src/build/Release+Asserts/lib/libLLVMMCJIT.a(SectionMemoryManager.o):SectionMemoryManager.cpp:(.text+0x3b): relocalisation tronquée pour concorder avec la taille: R_X86_64_PC32 vers le symbole indéfini __register_frame
/usr/lib/gcc/x86_64-pc-cygwin/4.8.1/../../../../x86_64-pc-cygwin/bin/ld: /cygdrive/c/Users/Jupotter/Code/llvm-3.3.src/build/Release+Asserts/lib/libLLVMMCJIT.a(SectionMemoryManager.o): mauvaise adresse de relocalisation 0x0 dans la section «.pdata»
英文:
undefined reference to "__register_frame
relocation truncated to concord with size: R_X*^_^$_PC32 to undefined symbol __register_frame
wrong relocation address in 0x0 in section ".pdata"
我使用以下命令构建llvm:
$ mkdir build
$ cd build
$ ../configure LDFLAGS=-Wl,--stack,16777216 --disable-jit --enable-targets=host-only
$ make -j4
LDFLAGS
选项来自用于win64平台的llvm。我尝试禁用jit,因为出现问题的地方似乎是libLLVMCJIT
知道什么会导致这个构建失败吗?我在Cygwin(x86_64)上编译llvm时遇到了相同的错误。但是我可以在Cygwin(x86)上成功编译它。外部函数
\u寄存器\u帧
是libgcc
或其他编译器库的一部分,但仅适用于x86。看起来您已经在32位模式下编译了一些代码或使用了32位库。另请参见