[CMake] two llvm libraries.

Anastasiya Ruzhanskaya anastasiya.ruzhanskaya at frtk.ru
Mon Aug 21 04:25:15 EDT 2017


Hello,
I am developing two llvm libraries (they should as MODULE .so at he end).
Still , they are situated in one cmake project and at some point I want to
use one pass (library) inside another. Simply including h files and getting
the result of llvm analysis leads to errors:

Error opening '../build/MyCFGPass/libMyCFGPass.so':
../build/MyCFGPass/libMyCFGPass.so: undefined symbol:
_ZTVN8bitwidth16OptimizeBitwidthE
 - one pass does not see another at all.

I can't link this library because it is MODULE but I also can't create a
second static library as in this case the pass will try to register itself
twice )(in .a and .so files).

What can be the problem that I can't use one class inside another and what
can be a solution to this?

I have:
passA.cpp <- includes "passB.h",
passB.h, passB.cpp,
I want to have passA.so,  passB.so, passA uses the analysis from passB.

Does the fact that I defined passB under namespace influence the problem?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/cmake/attachments/20170821/4e5794b9/attachment.html>


More information about the CMake mailing list