subdir.mk中的Eclipse CDT错误 我尝试第一次使用Eclipse作为C++项目。我目前在eclipse自动生成的一个子文件夹makefile(subdir.mk)中有一个错误。以下是完整的文件: # 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 "$@" -c "$<" @echo 'Finished building: $<' @echo ' ' #将这些工具调用的输入和输出添加到构建变量中 CPP_SRCS+=\ ../src/model_bis/Instance.cpp\ ../src/model_bis/ThreeIndexFormulation.cpp OBJS+=\ ./src/model_bis/Instance.o\ ./src/model_bis/ThreeIndexFormulation.o CPP_部门+=\ ./src/model_bis/Instance.d\ ./src/model_bis/ThreeIndexFormulation.d #每个子目录都必须提供用于构建其贡献的源的规则 src/model_bis/%.o:../src/model_bis/%.cpp @echo'构建文件:$

subdir.mk中的Eclipse CDT错误 我尝试第一次使用Eclipse作为C++项目。我目前在eclipse自动生成的一个子文件夹makefile(subdir.mk)中有一个错误。以下是完整的文件: # 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 "$@" -c "$<" @echo 'Finished building: $<' @echo ' ' #将这些工具调用的输入和输出添加到构建变量中 CPP_SRCS+=\ ../src/model_bis/Instance.cpp\ ../src/model_bis/ThreeIndexFormulation.cpp OBJS+=\ ./src/model_bis/Instance.o\ ./src/model_bis/ThreeIndexFormulation.o CPP_部门+=\ ./src/model_bis/Instance.d\ ./src/model_bis/ThreeIndexFormulation.d #每个子目录都必须提供用于构建其贡献的源的规则 src/model_bis/%.o:../src/model_bis/%.cpp @echo'构建文件:$,c++,eclipse,makefile,C++,Eclipse,Makefile,不知道这是否有帮助,但我遇到了完全相同的错误,所以这里开始 在代码中的某个地方,我尝试将队列复制到数组中: std::copy(queue::front(), queue::back(), array); 在对您描述的问题摸不着头脑之后,我用自己的while循环替换了该方法: int i = 0; while(!queue.empty()){ array[i] = queue.front(); queue.pop(); i++ } 错误神奇地消失了。不知道这是如何关联

不知道这是否有帮助,但我遇到了完全相同的错误,所以这里开始

在代码中的某个地方,我尝试将队列复制到数组中:

std::copy(queue::front(), queue::back(), array);
在对您描述的问题摸不着头脑之后,我用自己的while循环替换了该方法:

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

错误神奇地消失了。不知道这是如何关联的,但是如果你的代码中有一个类似的复制行,考虑替换它。

这可能是因为头文件。确保已正确导入头文件。右键单击项目名称->属性->路径和符号。

经过一段时间的努力,我终于找到了这个问题的解决方案。。。所以,我注意到,当我更改文件夹名称时,出现了此错误。。。这里的问题是,这些makefiles或其他文件无法识别名称之间带有空格的路径。。。例如,如果在工作区的路径中有一个文件夹,其名称中有一个空格,则只需通过删除已存在的空格来更改该文件夹

现在,您可以重置项目和工作区,这样程序就可以更新正确的路径,其中没有空格


这对我来说很有效

当我两年前在Debian气喘症下重建一个老项目时,EclipseIndigo也遇到了同样的问题。现在,当我尝试在Debian Jessie下重建时,我所有的项目都会导致相同的错误。我已经设置了一个典型的项目框架,但仍然会遇到相同的错误:
std::copy(queue::front(), queue::back(), array);
int i = 0;
while(!queue.empty()){
    array[i] = queue.front();
    queue.pop();
    i++
}