2010-12-03 13 views
0

シンプルなtinylibxmlプログラムを実行しようとするとエラーになります。リンク問題tinylibxml C++ Ubuntu

OS - > Ubuntuの IDE - >電子 私はapt-getを をインストールして、ダウンロード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

を提供してきました。コードを追加する際には、以下のフォーマットコードボタンを使用してください。それはより読みやすくします。 – doron

+0

取得しているエラーは何ですか? – misha

答えて

1

あなたは

g++ -c mycode.cppのような何かをする必要があります

おかげで(ソースファイルを仮定すると、mycode.cppです)

これはあなたが今必要mycode.o

を生成する必要があります行うこと:

連結ステップである

。これは、コンパイルされたソースファイルをtinyxmlライブラリと組み合わせて、最終実行可能バイナリmycodeを生成します。

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

このすべてがmakeMakefile

を使用して自動化することができますが、コンパイラオプションの詳細はThe GCC Manualを見てみましょう。

+0

このような迅速かつ役立つ応答のおかげでみんな。 – samprat

+0

私はこの問題を解決しました。 – samprat

+0

問題はlibtinyxml.aファイルをリンクしていないということでした。このファイルは/ usr/libにあります。私は次のステップg ++ TinyTest.cpp /usr/lib/libtinyxml.a .......を必要とし、それが動作します。単純に私はプロジェクト - >プロパティ - > GCC C++リンカー - >ライブラリに入り、-L/usr/libの-l AND/usr/libにtinyxmlを追加することで一気に試しました – samprat

0

tinyxmlに付属のメイクファイルがあり、それを実行してライブラリをビルドし、そのライブラリをリンクラインに組み込みます。

EDIT:と@doronは親切にあなたにも、エラーメッセージを追加する場合には有用であろうあなたの「ライブラリをリンクする」ための手順:)