Я делаю проект, который работает с файлами ELF. Прямо сейчас я использую следующее в качестве примера ввода —
class C {
public:
C();
C(int x, int y);
int getX();
private:
int x;
int y;
};
class SubC : public C {
int z;
};
int f() {return 0;}
C c;
SubC subC;
int i;
double d;
Тогда я бегу
gcc test.cpp -g -c -o test.o
и я получаю test.o, как и ожидалось. Затем я подаю test.o в библиотеку, которую я нашел питер-карлик. Моя проблема заключается в том, что библиотека говорит: «в test.o не найден раздел .debug_str»
Я делаю что-то не так во время компиляции? Или библиотека не работает?
Изменить: там должен был быть -g
использование -g
в gcc для генерации символов отладки. Вы также можете обратиться к документации по параметрам отладки gcc. Вот.
-g
одна может не включать информацию DWARF, если ваша система настроена каким-либо образом. Существует ряд параметров, связанных с DWARF, поэтому, если -g
само по себе не работает, вам может понадобиться пойти туда и поработать с другими переключателями.
Вероятно, вам нужно скомпилировать с включенной отладочной информацией. Пытаться:
gcc -g test.cpp -c -o test.o