There are two linker error when compiling the latest llvm source...

Hi everyone.
I am using the visual stuido 2005 to build the lastesllvm source code.
After the building phase, the vs 2005 dump two errors with the lli and llc.
Here is the message:
the Error 1549 error LNK2019: unresolved external symbol “class llvm::FunctionPass * __cdecl llvm::createPBQPRegisterAllocator(void)” (?createPBQPRegisterAllocator@llvm@@YAPAVFunctionPass@1@XZ) referenced in function “public: __thiscall `anonymous namespace’::ForceCodegenLinking::ForceCodegenLinking(void)” (??0ForceCodegenLinking@?A0x75b61eb1@@QAE@XZ) lli.obj

Error 1547 error LNK2019: unresolved external symbol “class llvm::FunctionPass * __cdecl llvm::createPBQPRegisterAllocator(void)” (?createPBQPRegisterAllocator@llvm@@YAPAVFunctionPass@1@XZ) referenced in function “public: __thiscall `anonymous namespace’::ForceCodegenLinking::ForceCodegenLinking(void)” (??0ForceCodegenLinking@?A0xc30fad1e@@QAE@XZ) llc.obj

I search the “createPBQPRegisterAllocator” keyword in the entire solution, only to find out that
This function exists in two header file. It is declared only, not implemented.
Maybe it is a bug of current version? Has anyone meet the same issue as me?

Thank you very much for any reply.

"Cloud Strife" <geforce8800@gmail.com> writes:

Hi everyone.I am using the visual stuido 2005 to build the lastesllvm source
code.
After the building phase, the vs 2005 dump two errors with the lli and llc.
Here is the message:

[snip]

I search the "createPBQPRegisterAllocator" keyword in the entire solution,
only to find out that
  This function exists in two header file. It is declared only, not
implemented.
Maybe it is a bug of current version? Has anyone meet the same issue as me?

This is, most likely, due to an outdated lib/CodeGen VS project file
that omits PBQP.cpp.

Have you tried building with CMake? :slight_smile:

mkdir /build
cd /build
cmake -G "Visual Studio 8 2005" path/to/llvm/root

generates the necessary files for building LLVM with VS8.

Don't forget to report your experience!