当项目中有两个 c 源时,无法通过 Eclipse 构建 C 项目
Cannot build C project by Eclipse when two c sources are in the project
我想用Eclipse 建立c 项目。
代码没问题(如下所示)但 link 不起作用。所以我无法构建 them.If sub() 的内容在 sub.h 中定义,构建工作正常。
我经常使用 Microsoft visual studio,但我是 eclipse 的初学者,我无法设置 linker 选项。
我想做什么
我如何 link 并通过 eclipse 构建独立的 c 源代码?
我想通过单击 "Build All" 按钮来构建项目。
错误信息
对“子”的未定义引用
collect2:错误:ld 返回 1 退出状态
日食设置
- OS: Ubuntu 16.04
- 版本:Eclipse Luna
- 工具链:Yocto 工具链(参见 http://variwiki.com/index.php?title=Yocto_Programming_with_Eclipse&release=RELEASE_MORTY_V1.0_DART-6UL)
- 项目属性
main.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;
}
sub.h
#ifndef SUB_H
#define SUB_H
int sub(void);
#endif
我解决了。这个问题在yocto开发的情况下比较特殊
在 Makefile.am 中添加 sub.c 可以正常构建。
这 link 帮助了我。
https://community.nxp.com/docs/DOC-106613
我想用Eclipse 建立c 项目。 代码没问题(如下所示)但 link 不起作用。所以我无法构建 them.If sub() 的内容在 sub.h 中定义,构建工作正常。
我经常使用 Microsoft visual studio,但我是 eclipse 的初学者,我无法设置 linker 选项。
我想做什么
我如何 link 并通过 eclipse 构建独立的 c 源代码? 我想通过单击 "Build All" 按钮来构建项目。
错误信息
对“子”的未定义引用
collect2:错误:ld 返回 1 退出状态
日食设置
- OS: Ubuntu 16.04
- 版本:Eclipse Luna
- 工具链:Yocto 工具链(参见 http://variwiki.com/index.php?title=Yocto_Programming_with_Eclipse&release=RELEASE_MORTY_V1.0_DART-6UL)
- 项目属性
main.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;
}
sub.h
#ifndef SUB_H
#define SUB_H
int sub(void);
#endif
我解决了。这个问题在yocto开发的情况下比较特殊
在 Makefile.am 中添加 sub.c 可以正常构建。
这 link 帮助了我。 https://community.nxp.com/docs/DOC-106613