gpt4 book ai didi

c++ - boost/property_tree/xml_parser.hpp : No such file or directory

转载 作者:行者123 更新时间:2023-11-30 02:07:56 25 4
gpt4 key购买 nike

我已经安装了 boost_1_41_0 并尝试遵循一些有关 xml 解析的教程:

#include <boost/property_tree/ptree.hpp>
int main(){
using boost::property_tree::ptree;
ptree pt;
cout<<"Here is an XML test!\n";
return 0;
}

但是问题是boost找不到需要的header:

gcc.compile.c++ bin/gcc-4.6.0/debug/main.o
main.cpp:1:46: fatal error: boost/property_tree/ptree.hpp: No such file or directory
compilation terminated.

使用“”代替<>也没有帮助。我还尝试传递选项 cxxflags=-I/pass/to/this/header - 这也不起作用。仅当我使用 header 的完整路径时 - 它才有效,但它依赖于另一个它无法找到的头文件。

那么如何让boost安装寻找自己的包含目录呢?谢谢。

最佳答案

您肯定需要让编译器知道在哪里可以找到 boost header 。但是,您必须将路径传递到“boost”目录所在的目录,而不是此包含文件所在的目录。因此,例如,如果您的 boost header 位于 /opt/boost/1.47.0/include 中您的文件位于 /opt/boost/1.47.0/include/boost/property_tree/ptree.hpp ,那么你必须通过/opt/boost/1.47.0/include使用 -I 到编译器:-I/opt/boost/1.47.0/include 。或者更好的是,使用 -isystem /opt/boost/1.47.0/include这样您就不会从这些 header 中收到警告。

是的,你忘了没有 cout在全局命名空间中,您必须使用 std::cout ,或者说using std::cout;using namespace std; ...更不用说#include <iostream> 。另外,return main中的声明function 在 C++ 中不是必需的,默认情况下它会返回 0,除非您返回其他内容,因此您可以简单地删除该行。

希望有帮助。祝你好运!

关于c++ - boost/property_tree/xml_parser.hpp : No such file or directory,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7340385/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com