一旦在整个项目中使用cmake后,在子目录中使用Cmake会出现问题

一旦在整个项目中使用cmake后,在子目录中使用Cmake会出现问题,第1张

概述一旦在整个项目中使用cmake后,在子目录中使用Cmake会出现问题

我有一个名为Tutorial的头文件夹和一个名为MathFunctions的子文件夹,每个文件夹都有一个代码,每个代码都为这两个文件夹编写了CMakeLists.txt,并且在cmd promptand中使用了cmake,它工作正常。

头文件夹中的CMakeLists.txt具有以下内容:

CMAKE_MINIMUM_required ( VERSION 2.6) PROJECT (Tutorial) SET (Tutorial_VERSION_MAJOR 1) SET (Tutorial_VERSION_MInor 0) CONfigURE_file ( "${PROJECT_SOURCE_DIR}/TutorialConfig.h.in" "${PROJECT_BINARY_DIR}/TutorialConfig.h " ) INCLUDE_DIRECTORIES ("${PROJECT_BINARY_DIR}") OPTION (USE_MYMATH "Use tutorial provIDed math implementation" ON) if (USE_MYMATH) INCLUDE_DIRECTORIES ("${PROJECT_SOURCE_DIR}/MathFunctions") ADD_subdirectory (MathFunctions) SET (EXTRA_liBS ${EXTRA_liBS} MathFunctions) endif (USE_MYMATH) ADD_EXECUtable (Tutorial tutorial.c) TARGET_link_liBRARIES (Tutorial ${EXTRA_liBS})

子文件夹中的CMakeLists.txt具有以下内容:

CMAKE_MINIMUM_required ( VERSION 2.6) add_library (MathFunctions mysqrt.c )

并在命令提示符下:

如何确定驱动器是否支持windows XP中的硬链接?

定时器和窗户上的睡眠

C#应用程序logging器

在linux中按Ctrl + C中断事件处理

为什么单线程比使用pthread的Ubuntu中的multithreading更快?

C:homeTutorialBUILD>cmake .. -- Building for: Visual Studio 9 2008 -- Check for working C compiler using: Visual Studio 9 2008 -- Check for working C compiler using: Visual Studio 9 2008 -- -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working CXX compiler using: Visual Studio 9 2008 -- Check for working CXX compiler using: Visual Studio 9 2008 -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Configuring done -- Generating done -- Build files have been written to: C:/home/Tutorial/BUILD

后来我在MathFunctions.c中做了一些修改,我在Tutorial.c中没做任何修改。 所以我想重新生成只为MathFunctions文件夹的make文件。 但我无法做到这一点。 我收到以下错误

C:homeTutorialBUILD>cmake ../MathFunctions

CMake错误:源“C:/home/Tutorial/MathFunctions/CMakeLists.txt”与用于生成caching的源“C:/home/Tutorial/CMakeLists.txt”不匹配。 用另一个源目录重新运行cmake。

我不明白为什么这个错误即将到来。 请帮忙谢谢

如何将MATLAB的mex安装程序引导到用于C ++编译的Microsoft windows SDK? (设置位置错误)

防止线程写入同一个文件

如何使用导出C ++类的DLL使用延迟加载

C#AES-256encryption

在cmd中解决外部exception –

如果您已经对项目中已有的源文件进行了修改,则不需要重新启动CMake。 只需重新编译。

好吧,我知道这是古老的但有…类似的问题,相同的错误信息。

在GUI上的文件下有一个命令清除缓存。 这不是第一次,但最终它没有。 我抖了一下,添加cmake到用户路径,重新启动,不知道是否有帮助。

我最初遇到了麻烦,试图在不是root的CMakeLists.txt上运行cmake。 当我用适当的源代码目录再次尝试时d出这个错误。 V3.1.3。

只要删除

.externalNativeBuild

从您的项目文件夹并再次同步。 通过这样做,您将删除构建缓存。

总结

以上是内存溢出为你收集整理的一旦在整个项目中使用cmake后,在子目录中使用Cmake会出现问题全部内容,希望文章能够帮你解决一旦在整个项目中使用cmake后,在子目录中使用Cmake会出现问题所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1278028.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-09
下一篇2022-06-09

发表评论

登录后才能评论

评论列表(0条)

    保存