我在 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 并重建,但我无法让编译器看到这个新的包含目录。
如果我更改代码以包含完整路径,它会更进一步,因为它可以打开这些文件,但它仍然无法打开它们包含的 Boost 文件。
我用谷歌搜索并搜索了 StackOverflow 和 Eclipse 无济于事。有很多类似的问题,但没有什么是完全相同或对我有用的。
有任何想法吗?