Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/125.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 链接问题tinylibxmlc++;Ubuntu_C++_Ubuntu_Tinyxml - Fatal编程技术网

C++ 链接问题tinylibxmlc++;Ubuntu

C++ 链接问题tinylibxmlc++;Ubuntu,c++,ubuntu,tinyxml,C++,Ubuntu,Tinyxml,尝试执行简单的tinylibxml程序时出错 操作系统->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_stdou

尝试执行简单的tinylibxml程序时出错

操作系统->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);
 }
}
#包括“tinyxml.h”
#定义TIXML\u使用\u STL
#包括
无效转储到标准输出(常量字符*文件名);
int main()
{
转储到stdout(“example1.xml”);
返回0;
}
无效转储到标准输出(常量字符*文件名)
{
TiXmlDocument文件(pFilename);
bool loadok=doc.LoadFile();
如果(好的)
{
printf(“\n%s:\b”,pFilename);
}
其他的
{
printf(“未能加载文件\%s\”\n,pFilename);
}
}
在谷歌搜索时,我发现需要包括libtinyxml.cpp和更多文件。 你们能告诉我怎么做吗


感谢您在构建时需要执行以下操作

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

这将生成mycode.o

您现在需要执行以下操作:

g++-o mycode-ltinyxml mycode.o

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

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

所有这些都可以使用
make
Makefile


查看有关编译器选项的更多信息。

tinyxml附带了一个makefile,运行它来构建库,然后在链接行中包含该库


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

如果您还添加了错误消息,这将非常有用。添加代码时,请使用下面的“格式代码”按钮。它确实使它更具可读性。您得到的错误是什么?感谢各位如此快速和有用的响应。问题是我没有链接libtinyxml.a文件。此文件位于my/usr/lib中。我需要以下步骤g++TinyTest.cpp/usr/lib/libtinyxml.a。。。。。。。它是有效的。类似地,我在eclipse中尝试了进入project->properties->GCC C++链接器->Libraries,并在-l中添加tinyxml和在-l/usr/lib中添加/usr/lib,我提到的-l标志应该实现同样的效果。