Я хочу использовать DRAMSim2 в качестве интерфейса библиотеки в разработке PINtool.Как связать интерфейс библиотеки dramsim2 с PINtool
Я стараюсь быть знакомым с dramsim_test.cpp, который включает в себя dramsim_test.h, который включает в себя DRAMSim.h (в определенном каталоге).
Если я поместить эти файлы в директории моего PINtool включаемый их (за исключением .cpp для этого я использовать код в PINtool.) Я получить компоновщик (я полагаю) ошибка:
undefined symbol: _ZN7DRAMSim23getMemorySystemInstanceERKSsS1_S1_S1_jPSs
PINtool имеет конфигурационный файл, который записывает эти:
## 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 :=
Makefile из dramsim примера имеет следующее:
$(CXX) -g -o dramsim_test dramsim_test.cpp -I../ -L../ -ldramsim -Wl,-rpath=../
Я полагаю, что мне нужно добавить где-нибудь в конфигурационном файле pintool параметр -ldramism, но я не знаю, как это сделать.
Я не знаком также с параметрами компоновщика, конфигурационными файлами и т. Д. Как я могу связать их?
ОБНОВЛЕНИЕ: Проблема решена. После изменения файла конф путем добавления -ldramsim и не работало, я пытался переместить libdramsim.so в папку allcache_v7.cpp и это нормально ...
благодарит вас за ответ ... но проблема все еще существует. Я изменил линию, которую вы сказали, и не работал. Я также попытался изменить это: CXX_LPATHS: = -I ../../../DRAMSim2/ -L ../../../DRAMSim2/ (пути верны, но я не знаю, как использовать -I и -L) – user1969182
Можете ли вы построить свою сборку PINTool, чтобы она была подробной, поэтому она выводит командную строку (ы) компилятора, которые она использует, и делится этим? – 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/components/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