Eclipse CDT C/C++:包含另一个项目的头文件

2024-05-26

我在 Eclipse CDT 中有两个 C++ 项目main and shared. In shared我有一个名为calc.h。我想在中使用这个标头main,所以我做了以下事情:

  • added #include "calc.h到相关文件main
  • In main's properties -> Project references我检查了shared

我希望这会起作用,但我得到了fatal error: calc.h: No such file or directory编译时,因此项目引用以某种方式不起作用。

我可以通过手动添加让它工作shared的源文件夹在main's properties->C/C++ Build->Setting->GCC C++Compiler->Includes,但我有一种不好的预感,这对于更大的项目、更复杂的依赖关系来说会变得很麻烦。因此,我希望 Eclipse 可以通过项目引用来处理这个问题。

我错过了什么还是手动是唯一的方法?


你说得对,这就是方法!

我在大型项目中使用 Eclipse CDT,但不使用 Eclipse 编译器设置。使用 CDT 编译器的设置有一些缺点:

  • 正如你所说,在大型项目中,这很麻烦。
  • 如果您想在没有 Eclipse 的平台上编译您的项目(当您部署应用程序时),这并不简单。

我使用 CMake 来管理我的 Eclipse 项目。当我开始一个新项目时,我会执行以下步骤:

  1. 在终端中,为新项目创建一个文件夹。
  2. 使用您最喜欢的文本编辑器(vim、emacs、文本编辑、kate 等)创建CMakeLists.txt为您的项目创建文件。您不必创建详尽的 CMakeLists,只需为您的第一个文件创建一个小的 CMakeLists 就足够了。
  3. 然后,让 cmake 生成 Eclipse 项目,如下所示:
    cmake -G "Eclipse CDT41. Unix Makefiles"
    
  4. 打开Eclipse,点击File --> Import,并选择“常规/现有项目进入工作区”。选择第一步中创建的文件夹,您的项目就可以在 eclipse 中使用了。

CMake 是用于管理项目的编译器配置工具...如果您不知道这一点,我鼓励您发现它。

Cheers!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Eclipse CDT C/C++:包含另一个项目的头文件 的相关文章

  • Android Studio 0.4.3 Eclipse项目没有gradle

    在此版本之前 在 Android Studio 中按原样打开 Eclipse 项目似乎很容易 无需任何转换 我更喜欢 Android Studio 环境 但我正在开发一个使用 eclipse 作为主要 IDE 的项目 我不想只为这个项目下载
  • 用于登录 .NET 的堆栈跟踪

    我编写了一个 logger exceptionfactory 模块 它使用 System Diagnostics StackTrace 从调用方法及其声明类型中获取属性 但我注意到 如果我在 Visual Studio 之外以发布模式运行代
  • HTTPWebResponse 响应字符串被截断

    应用程序正在与 REST 服务通信 Fiddler 显示作为 Apps 响应传入的完整良好 XML 响应 该应用程序位于法属波利尼西亚 在新西兰也有一个相同的副本 因此主要嫌疑人似乎在编码 但我们已经检查过 但空手而归 查看流读取器的输出字
  • 关于 C++ 转换:参数 1 从“[some_class]”到“[some_class]&”没有已知的转换

    我正在研究 C 并且遇到了一个错误 我不知道确切的原因 我已经找到了解决方案 但仍然想知道原因 class Base public void something Base b int main Base b b something Base
  • C# 中通过 Process.Kill() 终止的进程的退出代码

    如果在我的 C 应用程序中 我正在创建一个可以正常终止或开始行为异常的子进程 在这种情况下 我通过调用 Process Kill 来终止它 但是 我想知道该进程是否已退出通常情况下 我知道我可以获得终止进程的错误代码 但是正常的退出代码是什
  • 创建链表而不将节点声明为指针

    我已经在谷歌和一些教科书上搜索了很长一段时间 我似乎无法理解为什么在构建链表时 节点需要是指针 例如 如果我有一个节点定义为 typedef struct Node int value struct Node next Node 为什么为了
  • 使用 Bearer Token 访问 IdentityServer4 上受保护的 API

    我试图寻找此问题的解决方案 但尚未找到正确的搜索文本 我的问题是 如何配置我的 IdentityServer 以便它也可以接受 授权带有 BearerTokens 的 Api 请求 我已经配置并运行了 IdentityServer4 我还在
  • 垃圾收集器是否在单独的进程中运行?

    垃圾收集器是否在单独的进程中启动 例如 如果我们尝试测量某段代码所花费的进程时间 并且在此期间垃圾收集器开始收集 它会在新进程上启动还是在同一进程中启动 它的工作原理如下吗 Code Process 1 gt Garbage Collect
  • 如何查看网络连接状态是否发生变化?

    我正在编写一个应用程序 用于检查计算机是否连接到某个特定网络 并为我们的用户带来一些魔力 该应用程序将在后台运行并执行检查是否用户请求 托盘中的菜单 我还希望应用程序能够自动检查用户是否从有线更改为无线 或者断开连接并连接到新网络 并执行魔
  • Windows 窗体:如果文本太长,请添加新行到标签

    我正在使用 C 有时 从网络服务返回的文本 我在标签中显示 太长 并且会在表单边缘被截断 如果标签不适合表单 是否有一种简单的方法可以在标签中添加换行符 Thanks 如果您将标签设置为autosize 它会随着您输入的任何文本自动增长 为
  • 链接器错误:已定义

    我尝试在 Microsoft Visual Studio 2012 中编译我的 Visual C 项目 使用 MFC 但出现以下错误 error LNK2005 void cdecl operator new unsigned int 2
  • 对现有视频添加水印

    我正在寻找一种用 C 在视频上加水印的方法 就像在上面写文字一样 图片或文字标签 我该怎么做 谢谢 您可以使用 Nreco 视频转换器 代码看起来像 NReco VideoConverter FFMpegConverter wrap new
  • WPF/C# 将自定义对象列表数据绑定到列表框?

    我在将自定义对象列表的数据绑定到ListBox in WPF 这是自定义对象 public class FileItem public string Name get set public string Path get set 这是列表
  • 如何从两个不同的项目中获取文件夹的相对路径

    我有两个项目和一个共享库 用于从此文件夹加载图像 C MainProject Project1 Images 项目1的文件夹 C MainProject Project1 Files Bin x86 Debug 其中有project1 ex
  • 为什么编译时浮点计算可能不会得到与运行时计算相同的结果?

    In the speaker mentioned Compile time floating point calculations might not have the same results as runtime calculation
  • 通过指向其基址的指针删除 POD 对象是否安全?

    事实上 我正在考虑那些微不足道的可破坏物体 而不仅仅是POD http en wikipedia org wiki Plain old data structure 我不确定 POD 是否可以有基类 当我读到这个解释时is triviall
  • 测试用例执行完成后,无论是否通过,如何将测试用例结果保存在变量中?

    我正在使用 NUNIT 在 Visual Studio 中使用 Selenium WebDriver 测试用例的代码是 我想在执行测试用例后立即在变量中记录测试用例通过或失败的情况 我怎样才能实现这一点 NUnit 假设您使用 NUnit
  • C++ 标准是否指定了编译器的 STL 实现细节?

    在写答案时this https stackoverflow com questions 30909296 can you put a pimpl class inside a vector我遇到了一个有趣的情况 这个问题演示了这样一种情况
  • 使用.NET技术录制屏幕视频[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有没有一种方法可以使用 NET 技术来录制屏幕 无论是桌面还是窗口 我的目标是免费的 我喜欢小型 低
  • 对来自流读取器的过滤数据执行小计

    编辑问题未得到解答 我有一个基于 1 个标准的过滤输出 前 3 个数字是 110 210 或 310 给出 3 个不同的组 从流阅读器控制台 问题已编辑 因为第一个答案是我给出的具体示例的字面解决方案 我使用的实际字符串长度为 450 个

随机推荐

  • 为什么 Rust 中的连接路径完全取代了原始路径?

    我不明白 Rust 如何连接文件路径 为什么这不起作用 fn main let root std path Path new resources let uri std path Path new js main js let path r
  • 在 C# 中设置风扇速度

    我知道以前有人问过这个问题 但我似乎无法让它发挥作用 我已调用以下内容 using System Management using System Management Instrumentation using System Runtime
  • java银行程序帐户ID不上去?

    每次创建银行帐户时 帐户 ID 都应增加 1 但每次我尝试提取 Id 时 我只会得到帐户 ID 为 0 任何建议 因为我完全按照我学习的书中的方式进行操作而且它仍然没有更新 帐户构造函数 public class BankAccount p
  • 如何从项目文件夹中的 jlabel 上设置图像?

    我正在尝试制作一个 Java 桌面应用程序 我想设置一个图像JLabel 我正在使用 NetBeans 从我的项目文件夹中 我的目录结构是 F gt MARKET src lib src defaultpackage demo java i
  • QT C++ QRegularExpression 多个匹配

    我想使用正则表达式从 QString html 中提取信息 我明确想使用正则表达式 无解析器解决方案 和类Q正则表达式 http qt project org doc qt 5 0 qtcore qregularexpression htm
  • 根据位置/日期更改日期选择器中的时间

    我在用着amsul 日期选择器和时间选择器 https amsul ca pickadate js time 我想根据选择的日期和复选框更改时间选择器的最小 最大小时 这是我的代码 var today new Date var tomorr
  • 将菜单添加到空活动

    我在 Android Studio 中制作了一个 Android 应用程序 并想在其上创建一个选项菜单 我将其创建为一个空活动 现在意识到我最好创建一个空白活动来获取选项菜单 无论如何 是否可以在空活动中创建选项菜单 如果有人能给我指出一个
  • 实时数据和草稿数据的数据库模型

    我一直在考虑在数据库中保存 实时 数据集和草稿数据集的最佳方法 实际版本会显示在网站上 草稿版本会一直进行下去 直到准备好上线为止 该模型是关系模型 由许多表组成 我目前的方法是拥有 2 个数据库 一个用于草稿 一个用于实时 当您将数据提升
  • 如何从 WPF 应用程序访问 Windows 文件预览图标

    我在一个目录中有一堆图片和视频 需要在WPF应用程序中显示 我正在考虑将Win7大图标本身显示为预览图像 因为这将节省我从视频文件中抓取适当帧的工作 因为 Windows 已经很好地完成了这项工作 有任何代码片段可以访问此 Shell 图标
  • 选择 matplotlib xticks 频率

    我正在用字符串作为 x 标签绘制数据 我想控制标签频率 以免文本使轴过载 在下面的示例中 我只想每 3 个刻度看到一个标签 a d g j 我可以做到这一点的一种方法是每 n 个元素用 2 个空字符串替换 my xticks 元素 但我确信
  • 我可以创建一个 List> 吗?

    我正在尝试创建一个列表WeakReference使用 4 5 泛型实现 这样我就可以避免类型检查和转换WeakReference目标 但 WeakReference
  • Windows PowerShell 查找文件中的重复行

    我需要使用 powershell 查找文本文件中的重复值 假设文件内容是 Apple Orange Banana Orange Orange 期望的输出应该是 Orange Orange 您还可以使用 Group Object cmdlet
  • 如何找到所有带有某种装饰的类?

    在Java中 我们可以使用 类路径扫描 找到具有给定注释的所有类 我们如何在 TypeScript 中做类似的事情 有没有办法找到所有装饰有某种装饰的类 这是一个例子 它假设您有某种方式引用范围 这magical类装饰器创建一个名为的字符串
  • Node.js 进程内存不足错误

    FATAL ERROR CALL AND RETRY 2 Allocation Failed process out of memory 我看到这个错误 但不太确定它来自哪里 我正在从事的项目有以下基本工作流程 从其他来源接收 XML 帖子
  • Xcode 6 Launchscreen.xib 具有适用于 iPad 横向和纵​​向的不同资源

    使用 Xcode 6 中引入的 LaunchScreen 我可以定义用于 iPad 横向和纵 向的不同资源吗 由于两个 iPad 方向的特征是相同的 遗憾的是 顺便说一句 我无法区分两者 这是否意味着 要么对 iPad 横向和纵 向使用相同
  • 我们可以在displaytag中使用rowspan和colspan吗?

    我必须创建一个表 其结构是这样的 col1 col2 col3 col4 col3 1 col3 2 是否可以使用显示标签创建这样的数据网格 查看装饰器示例 http displaytag sourceforge net 1 2 tut d
  • 除了前一个按钮意图之外,如何添加另一个按钮意图?

    这是我的代码 它包含一个名为的按钮button1A当我单击它时 它会打开一个名为的列表list1 如何为另一个名为 button2A 的按钮添加代码 该按钮将打开一个列表 List2 import android os Bundle imp
  • Django如何通过模板修改数据库记录

    我想删除我选择的记录 并且run html将会刷新 我该怎么做 由于我使用函数run在views py中发送数据库中的记录 以及run需要一个参数构建 可以通过使用获得run name 所以我认为当我单击提交按钮时 我需要传递 run na
  • 从 Python 脚本创建可执行文件,同时获取较小的输出大小

    我的问题可能已经在某个地方得到了解答 但我仍然找不到直接的答案 我想从 python 代码创建一个独立的可执行文件 我已经尝试过很多解决方案 例如py2exe pyinstaller等等 但我的问题是输出文件大小很大 例如 在pyinsta
  • Eclipse CDT C/C++:包含另一个项目的头文件

    我在 Eclipse CDT 中有两个 C 项目main and shared In shared我有一个名为calc h 我想在中使用这个标头main 所以我做了以下事情 added include calc h到相关文件main In