【问题标题】:Error check in Eclipse CDT using Makefiles使用 Makefile 在 Eclipse CDT 中检查错误
【发布时间】:2012-11-17 10:17:36
【问题描述】:

我正在使用 eclipse 来开发我的项目,该项目基于我的自定义 makefile 系统。我必须使用自定义 Makefile 项目,因为我想在 LLVM makefile 系统上开发 LLVM 项目,请参阅:http://llvm.org/docs/Projects.html

我在 Eclipse 中创建了一个“空 makefile”项目,我选择了构建位置(Project->Properties->C/C++ Build->Build Location)并添加了所有需要的库源(Project->Properties-> C/C++ 常规->路径和来源)。

项目按应有的方式构建和执行。问题是很多行都用红色强调为错误。这很明显,因为 eclipse 会检查执行 gcc 的错误,除非我使用 Makefile(或者我错了......),否则它不会执行它。

无论如何 - 在使用带有 makefile 的 eclipse 时,有什么方法可以检查语法(和其他类型的)错误吗?

【问题讨论】:

  • 我无法重现此问题。您可以添加一个可重现的最小工作示例吗?单个“Hello World”C 文件的 LLVM 构建,包含 Makefile、Eclipse 版本号以及创建 Eclipse 项目所遵循的确切步骤?
  • 运行基于 LLVM 项目模板的“hello world”示例并不容易——你必须下载 LLVM 源并编译它们,因为要构建自定义项目你需要 LLVM 源和对象(编译的库)作为 makefile 依赖项。无论如何,这是一个简单的过程,请下载源代码并按照说明编译它们:llvm.org/docs/GettingStarted.html#getting-started 然后在 $LLVMSRC/projects 中有包含所有需要的 makefile 的“sample”目录。然后你必须: cd sample; mkdir 构建;光盘构建; ../配置;制作;
  • 您应该启动并运行这个示例(hello world 的源代码位于 sample/tools/sample/main.c 中)。如果您想要更复杂的示例,请将 main.c 文件重命名为 main.cpp,将其内容替换为本网站末尾的代码:llvm.org/docs/tutorial/LangImpl3.html 并将以下行添加到 sample/tools/sample/ 的开头Makefile:“LINK_COMPONENTS = all”(不带引号) - 这真的很容易做到,而且恐怕没有更简单的方法可以为您提供可运行的示例 :( 将此项目导入 eclipse 后,我有很多错误.
  • eclipse版本为4.2.1,创建eclipse工程的步骤为: 1) file->new C++ Project->MakeFile Project(Empty Project) -> 指向源代码->完成; Project->Properties->C/C++ Build->Build location更改为“${workspace_loc:/sample/build}”; Project->Properties->C/C++ General -> Paths and Symbols -> Gnu C++ -> append "home//llvm/src/include" 和 "/usr/include/c++/4.7.2"。在这些步骤之后,我没有显示包含错误,但很像“类型'std :: string'无法解析”或“符号'stderr'无法解析”

标签: c++ eclipse makefile llvm eclipse-cdt


【解决方案1】:

查看this question,或谷歌“eclipse unresolved symbols”。您需要将包含的路径添加到项目设置中,以便 Eclipse 编辑器/索引器可以找到它们。

链接中的问题是针对未解析的包含,但它也适用于所有未解析的符号。

【讨论】:

  • 顺便说一下,这些错误与 makefile 完全无关。只是Eclipse的索引器找不到它们。
  • 请查看我的 cmets - 我当然已将所有路径添加到项目设置中。它发现所有包含(我什至可以 ctrl+单击它们)但错误仍然存​​在。
  • 是的,我读过它们,但显然仍然缺少一些东西。还尝试将/usr/include//usr/include/c++/4.7.2/backward 添加到包含路径。
  • 这有帮助。我有一个非常相似的问题:llvm 项目,eclipse 中的红色下划线。我去了 Project -> Properties -> C/C++ General -> Paths and Symbols -> [the "includes" tab] -> Gnu C++ -> 并添加了 /usr/local/include 文件夹,这是我的 llvm 文件夹包含位于。
猜你喜欢
  • 2014-12-07
  • 2010-12-24
  • 1970-01-01
  • 1970-01-01
  • 2018-03-23
  • 2011-12-22
  • 1970-01-01
  • 2011-05-18
  • 1970-01-01
相关资源
最近更新 更多