0

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を取得します。次に、私が見つけたpeter-dwarfというライブラリーに test.o をフィードします。私の問題は、ライブラリが「test.oにセクション.debug_strが見つかりません」と言っていることです

コンパイル中に何か間違ったことをしていますか? それともライブラリが機能していませんか?

編集:そこに-gがあったはずです

4

2 に答える 2

1

-ggcc で使用して、デバッグ シンボルを生成します。また、gcc のデバッグ オプションに関するドキュメントを参照することもできます

-gシステムが何らかの方法で構成されている場合、単独では DWARF 情報が含まれない場合があります。特に DWARF に関連するスイッチが多数あるため、-g単独で機能しない場合は、そこに行って他のスイッチを操作する必要がある場合があります。

于 2013-04-21T06:02:09.197 に答える
0

おそらく、デバッグ情報を有効にしてコンパイルする必要があります。試す:

gcc -g test.cpp -c -o test.o
于 2013-04-21T06:01:40.633 に答える