2011-04-14 49 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++)

這解決了我的問題。