5月3日突然出现“collect2: ld returned 1 exit status”,一直没搞明白原因到底是什么,翻遍了百度大神的各种回答,基本把百度上的各种解决方法都尝试了一遍,最后发现问题仍然没有解决,无奈自己只能恢复快照,还原到没有问题的状态,然后检查问题所在(不得不说虚拟机的快照是真好用)。最后终于发现了问题所在,原来是自己在导入已经存在文件的时候,多次导入项目的".cpp"和".h"文件,导致系统出现,在将项目文件中多次出现的文件信息删除后,项目编译正常。下面给出前辈们遇到该问题的解决办法:
一、“libgl1-mesa-dev”缺失问题
解决办法:终端执行“sudo apt install libgl1-mesa-dev”。如果出现设备锁的问题,执行“sudo rm /var/lib/dpkg/lock-frontend”后“reboot”,然后安装后“reboot”。过程记得保存快照。https://blog.csdn.net/qq_41260987/article/details/80975842
二、函数库未包含的问题
有函数的定义,却没有函数的声明。需要检查你刚刚修改的那个文件,看是否是不小心删除了头文件中函数的声明。https://www.baidu.com/link?url=SR0j-jDJJnAEj6qfAvwbSFpH5024R3tP4Wf_eTbb3qUtJJNLMWhG3Ht2PVivOfp6NdgW7vNgRMBRmBKmSMtJC_&wd=&eqid=90c2666600007756000000035eae7ea8