2016-03-21 47 views
2

C++プロジェクトで初めてEclipseを使用しようとしています。私は現在、eclipse(subdir.mk)によって自動的に生成されるサブフォルダmakefileの1つにエラーがあります。ここでは完全なファイルは次のとおりです。subdir.mkのEclipse CDTエラー

# Add inputs and outputs from these tool invocations to the build variables 
CPP_SRCS += \ 
../src/model_bis/Instance.cpp \ 
../src/model_bis/ThreeIndexFormulation.cpp 

OBJS += \ 
./src/model_bis/Instance.o \ 
./src/model_bis/ThreeIndexFormulation.o 

CPP_DEPS += \ 
./src/model_bis/Instance.d \ 
./src/model_bis/ThreeIndexFormulation.d 


# Each subdirectory must supply rules for building sources it contributes 
src/model_bis/%.o: ../src/model_bis/%.cpp 
    @echo 'Building file: $<' 
    @echo 'Invoking: Cross G++ Compiler' 
    g++ -DIL_STD -I/opt/ibm/ILOG/CPLEX_Studio124/cplex/include -I/opt/ibm/ILOG/CPLEX_Studio124/concert/include -I/usr/local/include/boost -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -o "[email protected]" -c "$<" 
@echo 'Finished building: $<' 
@echo ' ' 

エラーが次の行に表示されます:

@echo 'Building file: $<' 

エラーメッセージがのみ、追加情報なしに、この行のテキストが含まれています。

私は日食も(含まれていないブーストを除いて)ほとんど同じであり、任意のエラーが発生していない別のサブフォルダのメイクファイル生成として特に混乱しています:

src/%.o: ../src/%.cpp 
    @echo 'Building file: $<' 
    @echo 'Invoking: Cross G++ Compiler' 
    g++ -DIL_STD -I/opt/ibm/ILOG/CPLEX_Studio124/cplex/include -I/opt/ibm/ILOG/CPLEX_Studio124/concert/include -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -o "[email protected]" -c "$<" 
    @echo 'Finished building: $<' 
    @echo ' ' 

を私は実際にどのように見当もつかないこの問題を解決してください...私はプロジェクトを再構築しようとしましたが、結果は同じです。あなたは何か考えていますか?

ありがとうございます。

+0

2年前に私がDebian Wheezyに所属していたときの古いプロジェクトの再構築時にEclipse Indigoと同じ問題が発生しました。 Debian Jessieのもとで再構築しようとすると、私のすべてのプロジェクトで同じエラーが発生します。私は、私の典型的なプロジェクトスケルトンをセットアップしましたが、私はまだ同じエラーが発生します: – lalebarde

答えて

0

私はファイルを更新しようとしました。エラーインジケータは消えません。

私は再構築(ctrl-b)を試みました。 'Building file:'行のエラーマーカーは消えますが、プロジェクトエクスプローラのsubdir.mkファイルには表示されません。 subdir.mkタブを閉じてファイルを再度開くと、「ビルファイル:」行にエラーマーカーが再び表示されます。

0

これが役立つかどうかわかりませんが、私はまったく同じエラーがあったので、ここに行きます。

私のコードのどこかに私はアレイ上にキューをコピーしてみました:

std::copy(queue::front(), queue::back(), array); 

あなたが説明した問題についての私の頭を悩ま後ループしながら、私は自分でそのメソッドを置き換える:

int i = 0; 
while(!queue.empty()){ 
    array[i] = queue.front(); 
    queue.pop(); 
    i++ 
} 

そして、このエラーは魔法のように消え去った。それがどのように関連しているかは不明ですが、コードに似たコピー行がある場合は、それを置き換えることを検討してください。