В файле ELF не найдено .debug_str?

Я делаю проект, который работает с файлами 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

0

Решение

использование -g в gcc для генерации символов отладки. Вы также можете обратиться к документации по параметрам отладки gcc. Вот.

-g одна может не включать информацию DWARF, если ваша система настроена каким-либо образом. Существует ряд параметров, связанных с DWARF, поэтому, если -g само по себе не работает, вам может понадобиться пойти туда и поработать с другими переключателями.

1

Другие решения

Вероятно, вам нужно скомпилировать с включенной отладочной информацией. Пытаться:

gcc -g test.cpp -c -o test.o
0

По вопросам рекламы [email protected]