2010-12-03 72 views
0

當我嘗試執行簡單的tinylibxml程序時出現錯誤。鏈接問題tinylibxml C++ Ubuntu

OS - > Ubuntu的 IDE - 通過>電子 我有下載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); 
} 
} 

由於我沒有使用Google,我發現我需要包含libtinyxml.cpp和其他一些文件。 請問你們,請指導我如何做到這一點。

感謝

+4

如果添加錯誤消息,以及這將是有益的。添加代碼時,請使用下面的格式代碼按鈕。它確實使它更具可讀性。 – doron 2010-12-03 14:38:38

+0

你正在得到什麼錯誤? – misha 2010-12-03 14:39:08

回答

1

建設時,你需要做這樣的事情

g++ -c mycode.cpp(假設你的源文件是mycode.cpp)

這應該產生mycode.o

你現在需要要做:

g++ -o mycode -ltinyxml mycode.o

這是連接步驟。這會將您編譯的源文件與tinyxml庫結合起來,生成最終的可執行二進制mycode。

對於簡單的東西,你可以編譯和鏈接在一個步驟,但更復雜的東西,你需要分開步驟。

所有這一切都可以使用makeMakefile

看看The GCC Manual對編譯器選項的詳細信息自動化。

0

有一個makefile附帶tinyxml,運行它來構建庫,然後將該庫包含在鏈接行中。

編輯:和@doron慷慨提供您「鏈接庫」中的說明:)