C++ 链接问题tinylibxmlc++;Ubuntu
尝试执行简单的tinylibxml程序时出错 操作系统->Ubuntu IDE->e 我已经通过apt-get-install下载了libtinyxml 并将标题包含在我的程序中 但我还是有错误 示例代码粘贴在下面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
#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标志应该实现同样的效果。