ich versuche, eine Open-Source LLVM-Plugin (https://github.com/HewlettPackard/Atlas) zu bauen. Aber wenn ich versuche, mit dem llvm Plugin ich einen bekommen zu bauen "Fehler: nicht in der Lage Plugin zu laden ... undefined Symbol: _ZNK4llvm12FunctionPass17createPrinterPassERNS_11raw_ostreamERKSs" (llvm :: FunctionPass :: createPrinterPass). Dies wird wahrscheinlich durch das hier erwähnte ABI-Problem verursacht: undefined symbol for self-built llvm opt?, aber das Erstellen des Plugins mit -D_GLIBCXX_USE_CXX11_ABI = 0 löst das Problem nicht.undefiniertes Symbol für LLVM Plugin
Ich habe Ubuntu 16.04. Ich habe versucht, Version 3.6, 3.8 und 3.9 zu klingeln und das Problem bleibt bestehen.
Building: (mit Klappern ++ 3.6, 3.8, 3.9, mit und ohne -stdlib = libstdC++, mit und ohne -D_GLIBCXX_USE_CXX11_ABI = 0)
clang++-3.9 -D_GLIBCXX_USE_CXX11_ABI=0 -c src/Instrumentation/NvmInstrumenter.cpp -I/usr/lib/llvm-3.9/include -fPIC -std=c++11
clang++-3.9 -D_GLIBCXX_USE_CXX11_ABI=0 -shared NvmInstrumenter.o -o NvmInstrumenter.so
clang++-3.9 -Xclang -load -Xclang ./NvmInstrumenter.so -o oo -c ./r.cpp
Ergebnisse der letzten Zeile in dem undefinierten Symbol Fehler.
Jede Hilfe würde sehr geschätzt werden. Auch Vorschläge, in welche Richtung man weiter schauen soll, helfen. Vielen Dank.
Clang verwendet er eigene interne Objektidentifikationsschema ist, RTTI sollte eigentlich für alles deaktiviert werden Verknüpfungsobjekte klirren oder llvm – keyboardsmoke