1

私は Windows 開発、GNU、および C++ の経験がありますが、Eclipse は初めてです。GNUツールチェーンを使用して、Windows上で構築しているEclipseプロジェクトにBoostを追加しようとしています(組み込みプロセッサ用)。

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 プロジェクト エクスプローラーで参照し、アウトラインから開くことができます。それでも、それらを含めると機能しません。

私のコードにはこれが含まれています:

#include <boost/property_tree/ptree.hpp>
#include <boost/property_tree/xml_parser.hpp>

Eclipse によって生成されたビルド文字列は次のようになります (上記の 2 つのディレクトリがないことに注意してください)。

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

メイクファイルをクリーンアップして再生成し、再構築しますが、コンパイラにこの新しいインクルード ディレクトリを認識させることができません。

完全なパスを含めるようにコードを変更すると、それらのファイルを開くことができるという点でさらに一歩進みますが、それらに含まれる Boost ファイルを開くことはできません。

StackOverflow と Eclipse をグーグル検索して検索しましたが、役に立ちませんでした。似たような問題はたくさんありますが、まったく同じであるか、私にとってはうまくいったものはありません。

何か案は?

4

2 に答える 2

0

次のようにしてみてください。

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

#include <> と #include "" の扱いは異なります。最初のものは「システム」インクルード パスを意味し、2 番目のものは「ユーザー」インクルード パス用です。

于 2011-04-14T21:17:49.437 に答える
0

私は同じ問題を抱えていて、同じフープを飛び越えました(<>の代わりに ""を試しました)。解決策は本当にばかげていることが判明しました。これは Windows マシンです。ファイルパスの扱いが異なることに注意してください。

元の投稿から:

C:\altera\10.1\quartus\bin\cygwin\usr\include\boost_1_46_1

スラッシュの方向を次のように変更します。

c:/altera/10.1/quartus/bin/cygwin/usr/include/boost_1_46_1

(インクルード パスを編集します。プロジェクトのプロパティ | C/C++ 一般 | パスとシンボル | インクルード | GNU C++ の下)

これで問題は解決しました。

于 2013-02-26T18:41:46.690 に答える