CLion中“This file does not belong to any project, code insight features might not work properly”的报错

CLion中“This file does not belong to any project, code insight features might not work properly”的报错,第1张

写在前面:科研期间由于项目需求,需要下载香港城市大学李坪老师的关于IDMA的一篇论文,顺便将开源的仿真包下载,之后在本地搭建系统进行数据仿真。

下载完成后解压会得到多个文件,包括两个.cpp文件和一个.h文件。在CLion中新建一个Project,然后将三个文件添加到该工程下,点击运行时出现报错:

发现 函数EnergyProfile( )调用失败,而该函数定义在头文件energy.cpp中,在energy.cpp中出现如下报错:

意思是:此文件不属于任何项目,代码功能可能无法正常工作 这是因为并没有将该头文件链接到整个工程中,众所周知,C语言或者C++语言的源程序必须经过编译和链接 *** 作后才可以变成计算机可以处理的二进制可执行文件。其中,编译是指根据用户所写的源代码程序,将高级语言(比如C语言)转换成电脑能读懂的汇编代码,这一步 *** 作一般会由编译器完成;链接是指,经过编译后将会产生一个目标文件,这个目标文件可能会调用一些函数(比如printf函数),它的目标代码在系统的函数库中,链接所要做的就是将这些函数库中的代码组合到目标文件中去。 简单来讲,就是说你要跟一个外国人交流,这时候你得先将说出的中文翻译成英文,好比编译,然后有些词汇什么的可能不是很懂需要字典查找才能准确翻译,随身携带一本英汉字典好比就是链接。 所以——解决办法是,在CMakeLists.txt的add_executable中添加头文件energy.cpp,如图:

 然后运行程序,解决问题:

后记:这个例子是.cpp文件也就是C++代码,同样的道理,C语言中的.c文件的链接与本例如出一辙。最后,祝各位写的代码没有bug!!!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/717610.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-25
下一篇 2022-04-25

发表评论

登录后才能评论

评论列表(0条)

保存