CMake 失败,直到您删除 CMake 缓存



我有一个使用 CMake 管理的项目,我遇到了一些我不理解的非常奇怪的行为。如果我清除我的构建目录,运行 cmake,运行 make,然后运行我的程序,我的程序每次都会崩溃,因为我在 pthreads/boost 线程中的某个地方失败了断言。无论我做多少次,并清理这个项目,每次我运行它时它都会崩溃。但是,如果我随后删除 CMaketCache.txt,重新生成我的生成文件,构建并运行,则程序每次都按预期运行。

总之,我需要按照以下步骤操作才能使我的代码正常工作...

  1. 运行 Cmake
  2. 运行制作
  3. rm CMakeCache.txt
  4. 运行制作
  5. 运行程序

似乎在我删除CMakeCache之前和之后制作文件.txt不同。什么可以解释这种行为?

你安装了 git 吗? 如果是这样,您可以使用此技巧:

  • 运行 cmake
  • git add .
  • git commit -m "
  • rm CMakeCache.txt
  • 运行制作
  • git diff

我可以从你说的话中看到一些奇怪的事情。 我不明白为什么你的程序会仅仅因为你删除了CMakeCache.txt而重新编译任何东西。 从第一次制作开始,一切都应该是最新的,所以那里有些不好...... 我的猜测是它第二次找到不同的线程库或没有线程库。

最新更新