解决C++ (CLion && CMake)中‘undefined reference to function’问题

这种问题一般是由于编译顺序不对造成编译器找不到实现文件,但是我用的是CLion自动生成的CMakeList.txt来管理编译,怎么会顺序不对。

我以为是上次没有测试就commit了,然而用git回滚也没有用,后来发现目录下有一个叫CMakeCache.txt的文件,里面存了一堆看不懂的东西,删除之后就好了。

但是CMakeCache.txt为什么会在Project的根目录下呢?不应该待在cmake-build-debug文件夹里吗?

后来才想起来有一次试图在命令行里挑战用裸CMake编译结果失败了的事情(默认还是VS的编译器),可能就是那时候生成了那个版本的CMakeCache.txt,后来也再也没有打开过这个Project,今天要添加新功能的时候发现了问题的不对。

话说git回滚的时候HEAD detach了(HEAD 游离),解决以上问题以后不知道HEAD怎么在指回最新的提交,一气之下重新clone了个新的。

我好蠢啊