[LLVMdev] help! How to build a shared library out of multiple cpp files in LLVM?
jingyuuiuc at gmail.com
Fri May 19 02:32:46 PDT 2006
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 mistake.
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.
opt: relocation error:
lib/FullIFDuplica.so.0: undefined symbol:
I find that the symbol table of the generated library has two entrys for
One is defined, the other is not. Seems that the run time has no way to
associate these two symbols.
Could you tell me how to solve the problem?
Thanks very much!
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the llvm-dev