Перемещение R_X86_64_PC32 против символа в кодовых блоках
всем привет
моя проблема заключается в создании файла .so в codeblocks , проект, который делает мой файл .so в старой версии(32 бит), не удался со следующими ошибками в новой версии(64 бит)
g++ -Wall -fexceptions -g -Iinclude -c /home/amini/codes/testr/main.cpp -o obj/Debug/main.o g++ -Wall -fexceptions -g -Iinclude -c /home/amini/codes/testr/src/tester.cpp -o obj/Debug/src/tester.o g++ -shared obj/Debug/main.o obj/Debug/src/tester.o -o bin/Debug/libtestr.so -fPIC /usr/bin/ld: obj/Debug/src/tester.o: relocation R_X86_64_PC32 against symbol `_ZTV6tester' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: final link failed: bad value collect2: error: ld returned 1 exit status
Что я уже пробовал:
когда я добавляю команду в опцию compilor, только последняя командная строка получает-fPIC
как я могу добавить его ко всем командам для создания всех объектных файлов,
Я протестировал его в терминале linux он решает мою проблему
Richard MacCutchan
Отредактируйте файлы make или установите их в качестве глобальной переменной, как описано в документации g++.
saide_a
в codeblocks где я могу его добавить
Richard MacCutchan
Извините, понятия не имею, я никогда не пользовался кодовыми блоками. Но опять же я бы посоветовал вам проверить документацию.