help! How to build a shared library out of multiple cpp files in LLVM?
I am developing a LLVM project and using LLVM building system to make
an opt pass. I find that if I implement class methods in seperate .cpp
files(the class declaration is included by all .cpp files), it will
have relocation error when I use opt -mypass to run it. I have tried to
squeeze everything in one file, then all errors are gone. But when the
program goes large(or have more than one classes), I don't think it is
wise to do so. So I really want to make it clear where I made the
For example, CLASS FullIFDuplica has a memember method "bool
isTwowayBranch()", whose implemention is in ClassImplement.cpp. Then if
this method is called in FullIFDuplica.cpp, error occurs.
I find that the symbol table of the generated library has two entrys for this method.
One is defined, the other is not. Seems that the run time has no way to associate these two symbols.