Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/158.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ CMake Zero Check无法检测Xcode generator的CMakeLists.txt文件中的更新 背景_C++_Xcode_Cmake - Fatal编程技术网

C++ CMake Zero Check无法检测Xcode generator的CMakeLists.txt文件中的更新 背景

C++ CMake Zero Check无法检测Xcode generator的CMakeLists.txt文件中的更新 背景,c++,xcode,cmake,C++,Xcode,Cmake,我有一个大项目,它可以在windows上完美运行。 当在CMakeLists.txt中应用某些更改并生成项目时,VisualStudio项目将正确更新 Xcode版本:10.0(10A255)或10.1(10B61)(在不同的机器上测试) CMake版本:3.12.2或3.13.1 问题 当在Mac OS for Xcode上构建相同的项目时,会出现问题。 配置CMake后: cmake .. -G Xcode 生成的项目运行良好,所有内容都正确构建,测试都通过了 现在,当修改CMakeLis

我有一个大项目,它可以在windows上完美运行。 当在
CMakeLists.txt
中应用某些更改并生成项目时,VisualStudio项目将正确更新

Xcode版本:10.0(10A255)或10.1(10B61)(在不同的机器上测试)

CMake版本:3.12.2或3.13.1

问题 当在Mac OS for Xcode上构建相同的项目时,会出现问题。 配置CMake后:

cmake .. -G Xcode
生成的项目运行良好,所有内容都正确构建,测试都通过了

现在,当修改
CMakeLists.txt
文件(在开发项目或从存储库获取新更改时)并选择
ZERO\u CHECK
BUILD\u ALL
时,生成不会导致Xcode项目更新。 调用
cmake.
也不会检测到更改

变通办法 我发现最好的解决方法是删除所有文件:
cmake\u install.cmake
CMakeCache.txt
。然后重新运行生成项目
cmake-G Xcode

在这个场景中,整个检测是从头开始重新进行的,但至少构建不是从零开始的(未更改的文件不会重新编译)

这是痛苦的,因为大量的手工工作必须完成,项目必须重新创建,这会消耗时间

提示 在以前的某个项目中,我遇到了类似的问题,但只有当maven检测到依赖项的更新时才会发生,所以这种情况很少发生。当它发生时,我只是调用了
touch CMakeLists.txt
并再次构建,这个解决方法很好。此解决方案不适用,因为每个构建都有此问题

我怀疑protobuf生成过程和它有关,但当我禁用它时,问题仍然存在

我试图通过创建简单的项目文件来提供完整的最小示例,但我无法重现这个问题。对于所有其他项目,它只是工作,所以系统配置不是问题

问题 运行
cmake
查找此问题的根源时,如何调试项目生成过程

这是一个已知的问题吗


是否有更好的解决方法,不会导致完全重建重新生成项目文件(这也涉及到检测系统功能)?

这很奇怪,我在这方面从来没有遇到过问题。几乎每次我在我的项目中更改一个CMakeLists.txt,我都会得到一个“取消”状态。有时,它甚至会“失败”,然后我使用GUI生成项目,并按照我的预期重建项目。这个问题可能与此相关吗?你使用的是什么版本的cmake?@user1244932很有趣,但这不是那个版本。首先,我的其他CMake项目在任何情况下都能正常工作,即使我选择“all_BUILD”,这个项目也不能工作。@MarekR您能提供您的CMake和XCode版本吗?@Antwane:问题已更新。