Ich möchte DRAMSim2 als Bibliotheksschnittstelle in einem entwickelnden PINtool verwenden.wie dramsim2 library interface mit einem PINtool verknüpft werden
Ich versuche mit dramsim_test.cpp vertraut zu sein, das dramsim_test.h enthält, das DRAMSim.h (in einem bestimmten Verzeichnis) enthält.
Wenn ich diese Dateien im Verzeichnis meiner Stiftvorrichtung ein gesetzt sind sie (mit Ausnahme von CPP dafür verwende ich den Code in der Stiftvorrichtung.) Ich bekomme einen Linker (nehme ich an) Fehler:
undefined symbol: _ZN7DRAMSim23getMemorySystemInstanceERKSsS1_S1_S1_jPSs
die Stiftvorrichtung hat eine Konfigurationsdatei, die diese schreibt:
## Libraries to link
ifeq ($(TARGET_OS),mac)
APP_LIBS := -lm
else
APP_LIBS := -Wl,--as-needed -lm
endif
DL_LIB :=
APP_LIB_ATOMIC := -latomic
APP_LIB_XED := -lxed
TOOL_LIBS := -lpin -lxed
SATOOL_LIBS := -lsapin -lxed
CXX_LIBS :=
die Make-Datei von dramsim Beispiel hat dies:
$(CXX) -g -o dramsim_test dramsim_test.cpp -I../ -L../ -ldramsim -Wl,-rpath=../
Ich nehme an, dass ich irgendwo in der Pintool-Konfigurationsdatei die Option -dramism hinzufügen muss, aber ich weiß nicht wie.
Ich bin nicht vertraut auch mit Linker Optionen, Konfigurationsdateien usw. Wie kann ich sie verknüpfen?
UPDATE: Das Problem gelöst. die conf-Datei durch Hinzufügen -ldramsim und hat nicht funktioniert Nach dem Wechsel habe ich versucht, die libdramsim.so in den Ordner von allcache_v7.cpp zu bewegen und ist ok ...
danke für deine antwort ... aber das problem existiert immer noch. Ich habe die Zeile geändert, die Sie gesagt haben und nicht funktioniert. Ich habe auch versucht, dies zu ändern: CXX_LPATHS: = -I ../../../DRAMSim2/ -L ../../../DRAMSim2/ (die Pfade sind korrekt, aber ich weiß nicht, wie ich -I benutze und -L) – user1969182
Kannst du dein PINTool-Build so ausführlich schreiben, dass es die Compiler-Befehlszeile (n), die es verwendet, ausgibt und diese teilt? – Smeeheey
'g ++ -DBIGARRAY_MULTIPLIER = 1 -Wall -Werror -Wno-unknown-pragmas -fno-stack-protector -DTARGET_IA32E -DHOST_IA32E -fPIC -DTARGET_LINUX -I ../../../ source/include/pin -I. ./../../source/include/pin/gen -I ../../../ extras/komponenten/include -I ../../../ extras/xed-intel64/include - I ../../../ source/tools/InstLib -O3 -fomit-frame-pointer -fno-strict-aliasing -c -o obj-intel64/allcache_v7.o allcache_v7.cpp' – user1969182