我想通过 Eclipse 构建 c 项目。 代码没问题(如下所示)但链接无效。所以我无法构建它们。如果 sub() 的内容在 sub.h 中定义,则构建工作正常。
我经常使用 Microsoft visual studio,但我是 eclipse 的初学者,无法设置链接器选项。
我想做什么
如何通过 Eclipse 链接和构建分离的 C 源代码? 我想通过单击“全部构建”按钮来构建项目。
错误信息
对“子”的 undefined reference
collect2:错误:ld 返回了 1 个退出状态
eclipse 设置
- 操作系统:Ubuntu 16.04
- 版本:Eclipse Luna
- 工具链:Yocto 工具链(参见 http://variwiki.com/index.php?title=Yocto_Programming_with_Eclipse&release=RELEASE_MORTY_V1.0_DART-6UL)
- 项目属性
主.c
#include <stdio.h>
#include "sub.h"
int main(void)
{
printf("sub() = %d\n", sub());
return 0;
}
sub.c
#include "sub.h"
int sub(void)
{
return 1;
}
子.h
#ifndef SUB_H
#define SUB_H
int sub(void);
#endif
最佳答案
我解决了。这个问题在 yocto 开发的情况下比较特殊。
在 Makefile.am 中添加 sub.c 可以正常构建。
关于当项目中有两个 c 源时,无法通过 Eclipse 构建 C 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48660406/