c++ - Eclipse 不构建 C++ 文件
问题描述
我正在尝试在 Eclipse 上编译一个带有 C 和 C++ 文件(.c 和 .cpp)的项目
我在链接步骤中有一个错误代码表明我的一个函数没有被引用(undefined reference to 'main_application'
),经过一番调查,我发现虽然我可以在项目代码中找到它,但 .cpp 中的所有文件都没有编译,因此它不能找到他们的参考。
我无法理解的是为什么 g++ 编译器不用于 cpp 文件,而我有它:当我转到我的项目属性 >> C/C++ 构建 >> ToolCahin 编辑器时,我有一个current toolchain
a "GCC 5.3.0 [x86_64-w64-mingw32]"
,current builder
= GNU Make builder
,并且在used tools
- GCC C++ 编译器 5.3.0 [x86_64-w64-mingw32]
- GCC C 编译器 5.3.0 [x86_64-w64-mingw32]
- GCC 汇编器 5.3.0 [x86_64-w64-mingw32]
- GCC C++ 链接器 5.3.0 [x86_64-w64-mingw32]
- GCC C 链接器 5.3.0 [x86_64-w64-mingw32]
- GCC 归档器 5.3.0 [x86_64-w64-mingw32]
所以我有 C++ 编译器,如何在我的 C++ 文件上激活它们?
当我构建时,在“build”文件夹中(build 是我的配置名称)我只有 .c 文件的对象(.o)文件,而不是永远不会编译的 .cpp 文件
解决方案
好的,我找到了答案,我把它放在这里以防万一可以帮助别人。在 Eclipse 中,项目应该转换为 c/c++ 之一,进入文件 >> 新建 >> 转换为 C/C++ 项目(添加 C/C++ 性质)。
通过这样做,在项目 C/C++ 构建设置中,一个部分似乎处理 c++。一些项目配置在转换中丢失(头目录路径和库),但我现在可以编译 C 和 C++ 文件
推荐阅读
- r - 如何计算所有重复中每种处理的平均值
- c# - 无法访问已关闭的流 && HTMLWorker 已过时
- php - PayPal PHP SDK 不适用于订阅,获取 RESOURCE_NOT_FOUND
- c# - 在循环中将 @ref 添加到 Blazor 组件
- javascript - How to add multiple routes using mapquest api, L.mapquest.directions().route()?
- android - java.lang.IllegalStateException: sensorManager.getDefaultSensor(sensorType) 在 Flutter 中不能为 null
- python - 如何在scrapy中按项目将下载的文件分组在同一子目录中?
- algorithm - 用预言机有效地对整数进行素数分解
- java - 打开程序时在 Java 中获取用户输入
- javascript - 检查光标何时悬停在链接上(尤其是 YouTube 链接)