0

シンプルな tinylibxml プログラムを実行しようとすると、エラーが発生します。

OS -> Ubuntu IDE -> e apt-get install を介して libtinyxml をダウンロードし、プログラムにヘッダーを含めましたが、まだエラーが発生します サンプルコードを以下に貼り付けます

#include "tinyxml.h"
#define TIXML_USE_STL
#include <tinyxml.h>
void dump_to_stdout(const char* pFilename);

int main()
{
 dump_to_stdout("example1.xml");
 return 0;
}

void dump_to_stdout(const char* pFilename)
{
 TiXmlDocument doc(pFilename);
 bool loadOkay = doc.LoadFile();
 if (loadOkay)
 {
  printf("\n%s:\b", pFilename);
 }
 else
 {
  printf("Failed to load file \"%s\"\n", pFilename);
 }
}

グーグルで調べたところ、libtinyxml.cpp とその他のファイルを含める必要があることがわかりました。皆さん、その方法を教えてください。

ありがとう

4

2 に答える 2

1

ビルドするときは、次のようなことをする必要があります

g++ -c mycode.cpp(ソース ファイルが mycode.cpp であると仮定します)

これにより、mycode.o が生成されます。

あなたは今する必要があります:

g++ -o mycode -ltinyxml mycode.o

これがリンクのステップです。これにより、コンパイル済みのソース ファイルが tinyxml ライブラリと結合され、最終的な実行可能なバイナリ mycode が生成されます。

単純なものの場合は、コンパイルとリンクを 1 つのステップで実行できますが、より複雑なものの場合は、ステップを分離する必要があります。

makeこれはすべて、とを使用して自動化できます。Makefile

コンパイラ オプションの詳細については、GCC マニュアルを参照してください。

于 2010-12-03T14:47:18.317 に答える
0

tinyxml に付属の makefile があり、それを実行してライブラリをビルドし、そのライブラリをリンク行に含めます。

EDIT:そして@doronは「ライブラリをリンクする」ための指示を親切に提供してくれました:)

于 2010-12-03T14:47:31.473 に答える