链接问题tinylibxml C ++ Ubuntu

时间:2010-12-03 14:33:25

标签: c++ ubuntu tinyxml

当我尝试执行简单的tinylibxml程序时,我收到错误。

OS - > Ubuntu的 IDE - > Ë 我通过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和更多文件。 请问各位,请指导我如何做到这一点。

谢谢

2 个答案:

答案 0 :(得分:1)

在建造时你需要做类似

的事情

g++ -c mycode.cpp(假设您的源文件是mycode.cpp)

这应该生成mycode.o

你现在需要这样做:

g++ -o mycode -ltinyxml mycode.o

这是链接步骤。这将把您编译的源文件与tinyxml库结合起来,生成最终的可执行二进制文件mycode。

对于简单的东西,你可以一步编译和链接,但是对于更复杂的东西,你需要将步骤分开。

所有这些都可以使用makeMakefile

自动完成

有关编译器选项的更多信息,请查看The GCC Manual

答案 1 :(得分:0)

有一个purexml附带的makefile,运行它来构建库,然后在链接行中包含该库。

编辑:@doron已经为您提供了“链接库”的说明:)