
我有一个名为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会出现问题所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)