【发布时间】:2018-07-17 13:01:18
【问题描述】:
我想通过 Eclipse 构建 c 项目。 代码没问题(如下所示),但链接无效。所以我无法构建它们。如果 sub() 的内容在 sub.h 中定义,则构建工作正常。
我经常使用微软visual studio,但是我是eclipse的初学者,无法设置链接器选项。
我想做什么
如何通过 Eclipse 链接和构建划分的 c 源? 我想通过单击“全部构建”按钮来构建项目。
错误信息
对“sub”的未定义引用
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)
- 项目属性
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;
}
子.h
#ifndef SUB_H
#define SUB_H
int sub(void);
#endif
【问题讨论】:
-
你不应该在头文件中定义一个全局变量。
-
抱歉,这个示例代码并不重要。我实际上不使用全局变量。问题是链接不能正常工作。如果我在 sub.h 中定义 sub() 并删除 sub.c,构建工作正常。所以我想在 eclipse 选项中链接它们。但是我找不到解决方案。
标签: c eclipse build yocto toolchain