我有一个混合的java / C ++项目,我想在新的PC上开发。它采用OpenCV图形库。在原始PC上一切正常,但是当我将项目复制到新PC时,我得到错误,表明eclipse不知道我的编译器是否存在。例如,在使用命名空间std; 的行旁边,它表示符号std无法解析。
然后我从OpenCV库加载了一个示例项目,其中包括java和C ++元素。它编译和运行完美。然后,我查看了该示例项目的属性,并注意到" GNU C"和" GNU C ++"被列为"包括"中的语言。标签(见下图)。在可能非编译项目的偏好的相应部分中,它仅表示" c,cpp"。标签集也是不同的。我怀疑这是出错的线索,但我不知道是什么决定了这个框中出现的语言列表或显示的标签。有什么想法吗?
编辑:在示例项目的属性中,在C / C ++ Build>中工具链编辑器,旁边是"当前工具链"它说"没有工具链"并且旁边是"当前的建设者"它说" gnu make builder"。在我自己项目的同一位置,当前的工具链是" android GCC"并且当前的构建器是" android builder"。当前的工具链下拉选择列表仅包含" android GCC"没有别的。当前构建器下拉列表包含" android builder"和" gnu make builder"。如果我将当前构建器更改为Gnu make builder,则当前工具链的选择将保持固定为" android GCC"在路径和符号屏幕上,语言列表仍然是" c,cpp"。
答案 0 :(得分:3)
这是由于在创建/导入项目时选择了错误的项目类型和工具链。我不知道如何获得其他工具链'工具链编辑器中的选项。
但是,您可以删除当前的C / C ++项目设置并重新导入项目并正确应用C / C ++特性。
请按照以下步骤操作:
.cproject
文件。Import -> Android Project -> Exisiting Android Code Into Workspace
导入项目。New -> Other -> C/C++ -> Convert to a C/C++ Project -> Specify “Project type” = Makefile project, “Toolchains” = Other Toolchain.
然后验证路径和符号中是否列出了GNU C,GNU C ++选项。
答案 1 :(得分:0)
使用“从现有源创建项目”,而不是“导入现有项目”,然后右键单击项目并转到Android工具 - >添加原生支持。