2011-04-14 60 views
1

我对Windows开发,GNU和C++有经验,但我是Eclipse的新手。我正在尝试将Boost添加到我的Eclipse项目中,该项目使用GNU工具链构建于Windows(但是用于嵌入式处理器)。添加Boost到C++的Eclipse - 包括路径问题

我已经在这里添加上去:C:\ Altera的\ 10.1 \的Quartus \ BIN \ Cygwin的的\ usr \包括\ 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和重建,但我不能让编译器看到这个新的包含目录。

如果我更改代码以包含完整路径,它会进一步发现它可以打开这些文件,但它仍然无法打开它们包含的Boost文件。

我已经Google和搜索StackOverflow和Eclipse无济于事。有很多类似的问题,但没有什么是相同或已为我工作。

任何想法?

回答

0

试试这样说:

#include "boost/property_tree/ptree.hpp" 
#include "boost/property_tree/xml_parser.hpp" 

的#include <>和#包括 “” 的处理方式不同。第一个意思是一个“系统”包含路径,而第二个意味着“用户”包含路径。

+0

对。我曾尝试过,结果相同。在任何情况下,它只会进一步发展,因为这些文件中包含的文件也使用<>,而不是“”。 – metal 2011-04-15 13:43:01

0

我有同样的问题,并跳过相同的箍(甚至尝试“”,而不是<>)。解决方案结果真的很愚蠢。这是一台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

(编辑包含路径;在项目Properties |下C/C++常规|路径和符号|包括| GNU C++)

这解决了我的问题。