QtCreator Build / Clean到底能做什么?

加塘

我在CMake中使用QtCreator。在我使用的CMakeLists.txt文件中GLOB_RECURSE QOBJECT_SOURCES "*.cpp",只是为了避免在添加新源时编辑文件。那个时候CMake当然不会改变它应该编译的可用文件的主意。我希望如果使用“构建/清理”,它将清理缓存,当我重新编译项目时,将找到新的源文件。但是,QtCreator忽略了新添加的文件。我需要手动清理构建目录,然后运行cmake ..; make那么,Build / Clean到底能做什么?与Build / Rebuild有什么区别?QtCreator中有什么东西,我可以使编译器知道我的新文件吗?

经典海洋

一按“构建>清除CMake配置”时,将删除Build目录中的文件CMakeCache.txt和目录CMakeFiles

https://github.com/qtproject/qt-creator/blob/master/src/plugins/cmakeprojectmanager/cmakeprojectmanager.cpp

    m_clearCMakeCacheAction [...] "Clear CMake Configuration"
    [...]
    connect(m_clearCMakeCacheAction [...] clearCMakeCache(SessionManager::startupProject());

https://github.com/qtproject/qt-creator/blob/master/src/plugins/cmakeprojectmanager/builddirmanager.cpp

void BuildDirManager::clearCache()
{
    auto cmakeCache = Utils::FileName(workDirectory()).appendPath(QLatin1String("CMakeCache.txt"));
    auto cmakeFiles = Utils::FileName(workDirectory()).appendPath(QLatin1String("CMakeFiles"));

    const bool mustCleanUp = cmakeCache.exists() || cmakeFiles.exists();
    if (!mustCleanUp)
        return;

    Utils::FileUtils::removeRecursively(cmakeCache);
    Utils::FileUtils::removeRecursively(cmakeFiles);

    forceReparse();
}


您正在使用哪个版本的QtCreator和CMake?

我怀疑您描述的行为是QtCreator 4.1之前的(或者至少我还记得类似的事情发生在我跳到QtCreator快照的4.1版之前)。

以防万一,您应该尝试最新的方法,看看是否能解决您的问题,因为我使用的是QtCreator 4.2和CMake 3.7(以及以前的QtCreator 4.1和Cmake 3.5),但是我看不到您的描述。

我像您一样设置文件(尽管CMake开发人员不建议这样做)。我的意思是,我主要CMakeList.txt中添加一个GLOB(或者GLOB_RECURSE如果我想递归扫描指向的目录)。

这样,在这些目录中创建一个新文件后,只需在Qt Creator中按“ Build> Run CMake”,或在编辑器中用空格加CTRL + S修改CMakeList.txt(如果已激活“在“选项>生成并运行> CMake”中选择“自动运行CMake”)。这两个操作都会使用新文件更新列出的文件树,以准备进行构建和运行(CTRL + R)。

从我的卑鄙角度来看,我认为这是一种在一个新项目中不断创建和重命名文件的更舒适的方式(在我的情况下,我添加*.h*.hpp能够看到项目中列出的那些文件)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

build_vocab()到底做什么?

来自分类Dev

flatMap到底能做什么?

来自分类Dev

QtCreator的Build和Src位置在哪里?

来自分类Dev

python中的KFold到底能做什么?

来自分类Dev

同步方法到底能做什么?

来自分类Dev

alt属性到底能做什么?

来自分类常见问题

enable-background属性到底能做什么?

来自分类Dev

Chrome浏览器的“隐身模式”到底能做什么?

来自分类Dev

“ Chef :: Config [:file_cache_path]”到底能做什么?

来自分类Dev

ffmpeg的“ setpts”过滤器到底能做什么?

来自分类Dev

iOS 13 Safari AA变焦到底能做什么?

来自分类Dev

array [:]在此回溯算法或Python中到底能做什么?

来自分类Dev

当存储在容器中时,std :: function()到底能做什么?

来自分类Dev

--prefix在./configure中使用时到底能做什么?

来自分类Dev

tee:“ --ignore-interrupts”选项到底能做什么?

来自分类Dev

Windows 7主题服务到底能做什么?

来自分类Dev

在这种情况下,xargs到底能做什么?

来自分类Dev

安全模式到底能做什么?(Windows 7和XP)

来自分类Dev

后台智能传输服务到底能做什么?

来自分类Dev

Ctrl + Shift + X在Firefox(Linux)中到底能做什么?

来自分类Dev

持久性API到底能做什么?使用它的好处是什么?

来自分类Dev

如果我在cmd窗口中单击,它到底能做什么?

来自分类Dev

“用户代理字符串”和“文档模式”到底能做什么?

来自分类Dev

主板上的4 + 4 CPU电源连接器到底能做什么?

来自分类Dev

从服务器检索数据时,闭包到底能做什么?

来自分类Dev

在Java中使用泛型编写方法时,<E>到底能做什么?

来自分类Dev

为什么QTCreator中缺少Ubuntu.Components 0.1?

来自分类Dev

Qt:什么时候可以从qtcreator访问动态属性?

来自分类Dev

为什么QTCreator中缺少Ubuntu.Components 0.1?

Related 相关文章

  1. 1

    build_vocab()到底做什么?

  2. 2

    flatMap到底能做什么?

  3. 3

    QtCreator的Build和Src位置在哪里?

  4. 4

    python中的KFold到底能做什么?

  5. 5

    同步方法到底能做什么?

  6. 6

    alt属性到底能做什么?

  7. 7

    enable-background属性到底能做什么?

  8. 8

    Chrome浏览器的“隐身模式”到底能做什么?

  9. 9

    “ Chef :: Config [:file_cache_path]”到底能做什么?

  10. 10

    ffmpeg的“ setpts”过滤器到底能做什么?

  11. 11

    iOS 13 Safari AA变焦到底能做什么?

  12. 12

    array [:]在此回溯算法或Python中到底能做什么?

  13. 13

    当存储在容器中时,std :: function()到底能做什么?

  14. 14

    --prefix在./configure中使用时到底能做什么?

  15. 15

    tee:“ --ignore-interrupts”选项到底能做什么?

  16. 16

    Windows 7主题服务到底能做什么?

  17. 17

    在这种情况下,xargs到底能做什么?

  18. 18

    安全模式到底能做什么?(Windows 7和XP)

  19. 19

    后台智能传输服务到底能做什么?

  20. 20

    Ctrl + Shift + X在Firefox(Linux)中到底能做什么?

  21. 21

    持久性API到底能做什么?使用它的好处是什么?

  22. 22

    如果我在cmd窗口中单击,它到底能做什么?

  23. 23

    “用户代理字符串”和“文档模式”到底能做什么?

  24. 24

    主板上的4 + 4 CPU电源连接器到底能做什么?

  25. 25

    从服务器检索数据时,闭包到底能做什么?

  26. 26

    在Java中使用泛型编写方法时,<E>到底能做什么?

  27. 27

    为什么QTCreator中缺少Ubuntu.Components 0.1?

  28. 28

    Qt:什么时候可以从qtcreator访问动态属性?

  29. 29

    为什么QTCreator中缺少Ubuntu.Components 0.1?

热门标签

归档