c - 如何解决 Eclipse CDT 中的“未定义的函数引用”?
问题描述
我确实使用 Eclipse Photon (4.8.0) 设置了一个 C 项目,用于为 ESP-32 开发程序。我确实根据这个官方设置说明配置了 IDE 。
闪烁 ESP-32 工作正常。但是,一旦我尝试包含子文件夹中的头文件,我就会遇到麻烦。我已经建立了一个非常简单的项目来说明这个问题。该项目由main.c
,base/test.h
和组成base/test.c
,而test.h
andtest.c
文件仅包含一个带有签名的函数void function1(void);
。
当我尝试打电话function1()
时main.c
,我收到此错误main.c
:
对 function1() 的未定义引用
请与所附截图进行比较,其中描述了所有内容。
如何解决这个问题?
解决方案
似乎您需要进行正确的链接。
- 如果要与库链接,则需要指定:
- 图书馆名称:
Project\Settings\C C++ General\Paths and Symbols\Libraries
- 链接器应搜索此库的位置:
Project\Settings\C C++ General\Paths and Symbols\Library Paths
重要:请参阅注释。
- 如果您正在链接目标文件,请将它们添加到:
Project\Settings\C C++ Build\Settings\Linker\Miscellaneous\Other objects
注意:
- 例如,如果您的库名称是 ,
libsomething.a
那么您只需指定something
名称即可;所以省略lib
前缀和.a
后缀。 - 如果您的库没有前缀
lib
,那么您需要添加其名称前缀:
。例如,something.a
应添加为:something.a
.
推荐阅读
- python - 使用 map 函数根据字典转换列名的麻烦
- php - 运行新项目时找不到接口“Monolog\ResettableInterface”
- php - 我如何在特定网站上抓取任何 div 的内容并显示它的内容
- javascript - 如何在节点js中使用jquery
- javascript - 类的属性存在但未定义
- css - 什么是-ms-value
- node.js - 虽然使用 gmail api html 部分发送邮件也与内容而不是内容一起使用
- android - Android资源链接失败输出:错误:创建目录失败
- apache-kafka - 有没有办法将 Kafka 消息从一台服务器上的主题转发到另一台服务器上的主题?
- php - 如何在 prestashop 的 JSON 文件中添加语言翻译