我对Windows开发,GNU和C ++很有经验,但我是Eclipse的新手。我正在尝试将Boost添加到我的Eclipse项目中,该项目使用GNU工具链在Windows上构建(但对于嵌入式处理器)。
我在这里添加了Boost:C:\ altera \ 10.1 \ quartus \ bin \ cygwin \ usr \ include \ boost_1_46_1
我已将该目录添加到我的Eclipse包含路径(项目属性| C / C ++一般|路径和符号|包含| GNU C ++),其中我看到C:\ altera \ 10.1 \ quartus \ bin \ cygwin \ usr \ include显示为内置目录。
我可以在Eclipse Project Explorer下浏览这些目录和文件,并从Outline中打开它们。然而,当我把它们包括在内时,它不起作用。
我的代码包含:
#include <boost/property_tree/ptree.hpp>
#include <boost/property_tree/xml_parser.hpp>
Eclipse生成的构建字符串如下所示(注意缺少上面提到的两个目录):
nios2-elf-gcc -xc++ -MP -MMD -c -I../NiosIITestSpin_bsp/UCOSII/inc -I../NiosIITestSpin_bsp/HAL/inc -I../NiosIITestSpin_bsp -I../NiosIITestSpin_bsp/drivers/inc -DSYSTEM_BUS_WIDTH=32 -pipe -D__hal__ -DALT_NO_INSTRUCTION_EMULATION -D__ucosii__ -O0 -g -Wall -EL -mhw-div -mcustom-fpu-cfg=60-1 -mhw-mul -mhw-mulx -o obj/Test.o Test.cpp
Test.cpp:12:41: warning: boost/property_tree/ptree.hpp: No such file or directory
Test.cpp:13:46: warning: boost/property_tree/xml_parser.hpp: No such file or directory
我清理,重新生成makefile,然后重建,但我无法让编译器看到这个新的include目录。
如果我更改代码以包含完整路径,它会更进一步,因为它可以打开这些文件,但它仍然无法打开它们包含的Boost文件。
我用Google搜索并搜索了StackOverflow和Eclipse无济于事。有很多类似的问题,但没有什么是完全相同或对我有用。
有什么想法吗?
答案 0 :(得分:0)
试试这样:
#include "boost/property_tree/ptree.hpp"
#include "boost/property_tree/xml_parser.hpp"
#include&lt;&gt;和#include“”的处理方式不同。第一个意味着“系统”包括路径,而第二个意味着“用户”包括路径。
答案 1 :(得分:0)
我遇到了同样的问题并跳过了同样的箍(甚至试过了“”而不是&lt;&gt;)。事实证明这个解决方案确实很愚蠢。这是一台Windows机器;请记住,他们以不同的方式处理文件路径。
从原帖:
C:\ Altera的\ 10.1 \的Quartus \ BIN \ cygwin的\ USR \包括\ boost_1_46_1
更改斜杠方向,使其显示为:
C:/altera/10.1/quartus/bin/cygwin/usr/include/boost_1_46_1
(编辑包含路径;在项目属性| C / C ++一般|路径和符号|包含| GNU C ++)下
这解决了我的问题。