打印
[应用相关]

不能找到函数的原始定义处

[复制链接]
楼主: cr315
手机看帖
扫描二维码
随时随地手机跟帖
21
wengh2016| | 2024-7-17 12:42 | 只看该作者 回帖奖励 |倒序浏览
如果没有对工程进行编译,或者工程的编译信息被清除,那么Keil将无法找到函数的定义。解决方法是重新编译整个工程。

使用特权

评论回复
22
phoenixwhite| | 2024-7-17 17:33 | 只看该作者
可能忘记了包含相应的头文件,或者包含了错误的头文件。

使用特权

评论回复
23
51xlf| | 2024-7-17 22:52 | 只看该作者
Keil的项目设置中包含了所有必要的源文件和头文件。

使用特权

评论回复
24
tpgf| | 2024-7-18 14:32 | 只看该作者
楼主使用的软件是keil还是iar呢

使用特权

评论回复
25
晓伍| | 2024-7-18 15:15 | 只看该作者
phoenixwhite 发表于 2024-7-17 17:33
可能忘记了包含相应的头文件,或者包含了错误的头文件。

如果是这样的话 会报错的

使用特权

评论回复
26
观海| | 2024-7-18 19:33 | 只看该作者
wengh2016 发表于 2024-7-17 12:42
如果没有对工程进行编译,或者工程的编译信息被清除,那么Keil将无法找到函数的定义。解决方法是重新编译整 ...

有时候就在于重新编译也找不到相关的定义

使用特权

评论回复
27
八层楼| | 2024-7-18 20:05 | 只看该作者
感觉如果不报错 那么就是编译软件的bug了

使用特权

评论回复
28
minzisc| | 2024-7-18 20:10 | 只看该作者
这个源文件没有被添加到你的项目中,那么Keil也无法找到它的定义。

使用特权

评论回复
29
磨砂| | 2024-7-18 20:37 | 只看该作者
如果编译后没有报错还是找不到的话  可以在工程文件里边进行搜索

使用特权

评论回复
30
木木guainv| | 2024-7-18 21:09 | 只看该作者
有时候需要对工程文件进行重新编译

使用特权

评论回复
31
eefas| | 2024-7-19 09:52 | 只看该作者
只有当工程编译无误时,IDE才能生成必要的索引信息来定位源代码中的定义。

使用特权

评论回复
32
sesefadou| | 2024-7-19 14:15 | 只看该作者
检查你的#include指令,确保它们正确无误,并且包含了所有需要的声明。

使用特权

评论回复
33
robincotton| | 2024-7-19 18:15 | 只看该作者
如果启用了较高的优化级别,编译器可能会将某些函数内联,从而使得这些函数的原始定义在生成的代码中不可见。尝试降低优化级别,看看是否能解决问题。

使用特权

评论回复
34
mnynt121| | 2024-7-19 21:39 | 只看该作者
有时候即使编译成功,IDE也可能需要重新生成浏览信息。尝试清除并重新编译整个工程。

使用特权

评论回复
35
vivilyly| | 2024-7-21 22:25 | 只看该作者
将工程文件移到一个不包含中文或特殊字符的路径下,然后重新打开工程。

使用特权

评论回复
36
claretttt| | 2024-7-23 21:21 | 只看该作者
检查是否已将声明函数的头文件添加到需要使用该函数的源文件中。

使用特权

评论回复
37
wengh2016| | 2024-7-23 22:30 | 只看该作者
IDE的缓存或索引可能会出错,导致无法正确找到函数的定义。

使用特权

评论回复
38
lzbf| | 2024-7-24 08:05 | 只看该作者
在Keil µVision中,这通常在Project -> Options -> C/C++ Compiler -> Miscellaneous -> Generate Browse Information。

使用特权

评论回复
39
pmp| | 2024-7-24 11:03 | 只看该作者
如果函数定义在其他源文件中,需要将该文件添加到项目中以便Keil能够找到它。

使用特权

评论回复
40
uptown| | 2024-7-24 12:04 | 只看该作者
项目中的缓存或其他临时文件可能会导致问题,清理并重新构建项目可能会有所帮助。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则