首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

CMakeLists.txt错误。- "add_subdirectory( source ) -给定的source "source“不是现有目录”。我是CMake新手,正在为此而苦苦挣扎

CMakeLists.txt是CMake构建系统的配置文件,用于指导项目的构建过程。在该文件中,add_subdirectory(source)用于将指定的源代码目录添加到构建过程中。

根据错误提示"给定的source "source"不是现有目录",这意味着CMake无法找到指定的源代码目录。这可能是由于以下原因导致的:

  1. 源代码目录不存在:请确保你在CMakeLists.txt文件中正确指定了源代码目录的路径。检查路径是否正确,并确保该目录存在。
  2. 目录名称拼写错误:检查你在add_subdirectory(source)中指定的目录名称是否正确。确保没有拼写错误或者额外的空格。
  3. 目录不在CMakeLists.txt所在的目录下:CMake会相对于CMakeLists.txt文件所在的目录来查找源代码目录。如果源代码目录不在CMakeLists.txt所在的目录下,你需要提供正确的相对路径或绝对路径。

解决该问题的方法是:

  1. 确保源代码目录存在,并且路径正确。
  2. 检查add_subdirectory(source)中的目录名称是否正确。
  3. 如果源代码目录不在CMakeLists.txt所在的目录下,提供正确的相对路径或绝对路径。

以下是一些腾讯云相关产品和产品介绍链接地址,可以帮助你更好地理解和使用云计算技术:

  1. 云服务器(CVM):提供弹性计算能力,满足不同规模和需求的应用场景。了解更多:https://cloud.tencent.com/product/cvm
  2. 云数据库 MySQL 版(CDB):可扩展的关系型数据库服务,提供高可用性和可靠性。了解更多:https://cloud.tencent.com/product/cdb_mysql
  3. 云存储(COS):安全可靠的对象存储服务,适用于存储和处理大规模的非结构化数据。了解更多:https://cloud.tencent.com/product/cos

请注意,以上链接仅供参考,具体产品选择应根据实际需求和情况进行评估。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

用Android Studio编译BareSIP

我们可以在项目中直接引入BareSIP库,也可以将BareSIP源代码引入到项目中,目前BareSIP还不是很稳定,因此,使用后者方式方便我们对BareSIP进行二次开发以及修改问题。...(根目录CMake构建脚本) 先在根目录CMakeLists.txt引入子目录 cmake_minimum_required(VERSION 3.4.1) add_subdirectory(...,也可以用其他方式实现) -CMakeLists.txt -CMakeLists.txt (根目录CMake构建脚本) 然后在编写每个子模块下CMakeLists.txt...,baresiplib我们提供给上层APP在运行时使用接口模块,因此要编译成动态库,且链接上述编译几个静态库 cmake_minimum_required(VERSION 3.4.1) include_directories...脚本编写完成后可直接编译,如果有编译错误问题可以根据具体问题进行修改,编译成功后可以在编译输出文件目录下找到编译好baresip、openssl、re、rem等静态库,如下: app -.externalNativeBuild

1.5K10

CmakeList编写和参数详解

大家好,又见面了,你们朋友全栈君。 在linux 下进行开发很多人选择编写makefile 文件进行项目环境搭建,makefile 文件依赖关系复杂,工作量很大,搞的人头很大。...cmake 根据内置规则和语法来自动生成相关makefile 文件进行编译,同时还支持静态库和动态库构建,把工作中用到东东总结在此,方便忘记时随时查看,具体cmake介绍和详细语法还是参考官方文档...使用cmake 很简单,只需要执行cmake, make 两个命令即可,用工作中一个工程举例说明。 假设当前项目代码在src 目录。...build —– 编译目录,存放编译生成中间文件 cmake 要求工程主目录和所有存放源代码子目录下都要编写CMakeLists.txt 文件,注意大小写(cm 大写,list中...ADD_SUBDIRECTORY(utility) 添加要编译目录 为工程主目录存放源代码目录使用该命令,各子目录出现顺序随意。

1.8K50

CMake简介及使用实例

WORKING_DIRECTORY用于指定外部命令工作目录,RESULT_VARIABLE用于指定一个变量保存外部命令执行结果,这个结果可能最后一个执行外部命令退出码或者一个描述错误条件字符串...变量中 #这里变量 CMAKE_CURRENT_LIST_DIR表示正在处理CMakeLists.txt文件所在目录绝对路径(2.8.3以及以后版本才支持) file(GLOB ALL_H_FILE...表示 void* 大小(例如为 4 或者 8),可以使用其来判断当前构建为 32位还是 64位CMAKE_CURRENT_LIST_DIR表示正在处理 CMakeLists.txt文件所在目录绝对路径...首先,我们看一下 Lib目录 CMakeLists.txt文件: aux_source_directory(....我们执行 CMake .命令,首先会执行 HelloWorld目录 CMakeLists.txt命令,当执行到 add_subdirectory(Lib)命令时候会进入 Lib子目录并执行其中

2.5K21

Cmake学习总结(三)

都可以写成文章出来分享给大家)熟悉网友都知道,也是小白,会从很基础东西开始分享开始,虽然都是比较理论化东西,但是都是点滴积累(有的时候,其实你真正在有些项目开发过程中,学到东西不是很多,...目录CMakeLists.txt内容:*/ cmake_minimum_required(VERSION 2.8) project(main) add_subdirectory(src)...CMakeLists.txt里面陌生语句解释: add_subdirectory(src)意思可以向当前工程添加存放源文件目录,并可以指定中间二进制和目标二进制存放位置(subdirectory...字母就是子目录意思,所以意思:这里指定src目录下存放了源文件,当执行cmake时,就会进入src目录下去找src目录CMakeLists.txt,所以在src目录下也建立一个CMakeLists.txt...testcmake目录CMakeLists.txt内容: cmake_minimum_required(VERSION 2.8) project(main) add_subdirectory(lib_test

47730

详解Android studio ndk配置cmake开发native C

迁移现有native C代码使用cmake,如果新项目同理更加简单。 2. 项目native activity就是没有java代码纯native project。 3....# CMAKE_SOURCE_DIR 内置变量表示当前CMakeLists.txt位置。 # 这里需要提供绝对路径所以需要这个变量, # 下面会看到所有的设置都是相对于当前文件。...第二个方案,利用CMakeadd_subdirectory函数,可以添加一个子目录,去让CMakeLists.txt再去载入另外一个CMakeLists.txt。这正是我们需要方法。...# 都是绝对路径,所以我们使用了内置变量,来跨平台 add_subdirectory( ${CMAKE_SOURCE_DIR}/../../.....需要注意,在子目录CMakeLists.txt中内置变量CMAKE_SOURCE_DIR目录值,不是当前文件目录。另外,可以看到我们编译出了两个so文件,链接它们。

2.3K51

CentOS7.8下编译muduo库找不到Boost库报错解决方法

错误信息可以看出找不到Boost库头文件所在路径,于是查看了一下muduo源代码根目录CMakeLists.txt文件: cmake_minimum_required(VERSION 2.6)...很是纳闷,估计/usr/local/boost目录不是默认安装目录所以会导致这个问题吧,最后找到了如下两篇博客: Linux下使用CMake进行编译时候寻找Boost库 cmake使用boost库...所以解决办法很明了了,既然muduo库找不到我安装boost1.69.0头文件所在目录,那么修改一下CMakeLists.txt文件,在find_package(Boost REQUIRED)这句查找...) add_subdirectory(examples/cdns) endif() endif() 修改CMakeLists.txt再运行build.sh脚本,需要注意还需要在设置CXX_FLAGS..../ 上面4种方法中,所熟悉第三种和第四种,这里cmake第三种为例: 注意:不论使用make还是cmake也好,注意:muduo库路径需要根据自己编译后路径为准。

1.8K20

万字总结编译利器CMake,从入门到项目实战演练

该库我们自己实现用于计算数字平方根库。可执行文件可以使用此库,不是使用编译器提供标准平方根函数。 在本教程中,我们将库放入名为MathFunctions目录中。...为此,我们将顶层CMakeLists.txt文件结尾更改为如下所示: if(USE_MYMATH) add_subdirectory(MathFunctions) list(APPEND...例如,要在“调试”模式下运行测试,请从构建目录不是“调试”子目录!)中使用ctest -C Debug -VV。或者,从IDE构建RUN_TESTS目标。...让我们从构造一个INTERFACE目标并指定所需C++标准级别11开始,不是使用CMAKE_CXX_STANDARD。...将其他平台项目迁移到 CMake: CMake 可以很轻松地构建出在适合各个平台执行工程环境。如果当前工程环境不是 CMake ,而是基于某个特定平台,是否可以迁移到 CMake 呢?

1.1K00

CMake,大型项目采用构建工具

本篇文章主要描述CMake基本用法。在之前文件中对Makefile,Autotools这两个构建工具。相关文章如下: 《linux下,Makefile啥??》...比如只有几个文件构建,使用Makefile最好选择。autotools和CMake大多都是应用在大型项目上。接下来讲讲新工具: CMake特点 开放源代码。...其中main.c我们要编译源文件,CMakeLists.txt关键,他就是告诉cmake如何编译。可以理解为编译规则。...SOURCE_LIST 中定义源文件列表 内部构建和外部构建 在上面的例程中,我们采用内部构建,会看到cmake生成临时文件比我们编写源文件还要多,而且在同一级目录下。...语法 ADD_SUBDIRECTORY(source_dir [binary_dir] [EXCLUDE_FROM_ALL]) 说明 此指令用于向当前工程添加存放源文件目录,并可以指定中间二进制和目标二进制存放位置

1.1K20

C++搭建集群聊天室(七):MySQL数据库配置 及项目工程目录配置

/src/* 然后,第一个CMake文件: cmake_minimum_required(VERSION 3.0) # 最低版本 project(main) # 给这个工程一个名字,这不是可执行文件名字...,工程名字 # 设置编译选项,不知道最后能不能过 set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} -g) # 设置可执行文件最后输出目录 set(EXECUTABLE_OUTPUT_PATH...${PROJECT_SOURCE_DIR}/bin) # 配置头文件搜索路径 include_directories(${PROJECT_SOURCE_DIR}/include) include_directories...(${PROJECT_SOURCE_DIR}/include/server) include_directories(${PROJECT_SOURCE_DIR}/thirdparty) # 加载子目录...add_subdirectory(src) 第二个cmake文件: # 加载子目录 add_subdirectory(server) 第三个cmake文件: # 定义一个SRC_LIST变量,存放该目录下所有的源文件

39210

CMake学习笔记合集

CMAKE变量 _BINARY_DIR,本例中 HELLO_BINARY_DIR _SOURCE_DIR,本例中 HELLO_SOURCE_DIR...指令 ADD_SUBDIRECTORY(source_dir [binary_dir] [EXCLUDE_FROM_ALL]) 这个指令用于向当前工程添加存放源文件目录,并可以指定中间二进制和目标二进制存放位置...EXCLUDE_FROM_ALL函数将写目录从编译中排除,如程序中example ADD_SUBDIRECTORY(src bin) 将 src 子目录加入工程并指定编译输出(包含编译中间结果.../ DESTINATION share/doc/cmake) DIRECTORY 后面连接所在 Source 目录相对路径 注意:abc 和 abc/有很大区别 目录名不以/结尾:这个目录将被安装为目标路径下...CMAKE_INCLUDE_PATH 和 CMAKE_LIBRARY_PATH 注意:这两个环境变量不是 cmake 变量,可以在linuxbash中进行设置 我们上面例子中使用了绝对路径INCLUDE_DIRECTORIES

2.2K20

CMake学习笔记

CMAKE变量 _BINARY_DIR,本例中 HELLO_BINARY_DIR _SOURCE_DIR,本例中 HELLO_SOURCE_DIR MESSAGE关键字就可以直接使用者两个变量,当前都指向当前工作目录...,HELLO_SOURCE_DIR一致。...]) 这个指令用于向当前工程添加存放源文件目录,并可以指定中间二进制和目标二进制存放位置 EXCLUDE_FROM_ALL函数将写目录从编译中排除,如程序中example ADD_SUBDIRECTORY.../ DESTINATION share/doc/cmake) DIRECTORY 后面连接所在 Source 目录相对路径 注意:abc 和 abc/有很大区别 目录名不以/结尾:这个目录将被安装为目标路径下...CMAKE_INCLUDE_PATH 和 CMAKE_LIBRARY_PATH 注意:这两个环境变量不是 cmake 变量,可以在linuxbash中进行设置 我们上面例子中使用了绝对路径INCLUDE_DIRECTORIES

2.1K20

CMake---优雅构建CC++软件项目实践(1)

给定目录添加到编译器用于搜索包含文件(如头文件)目录中,相对路径被解释为相对于当前源目录。...}") AUX_SOURCE_DIRECTORY 不会递归包含子目录,仅包含指定dir目录 ADD_SUBDIRECTORY子模块编译,可以将子文件夹中或者指定外部文件夹下CMakeLists.txt...中包含该日志模块编译: ADD_SUBDIRECTORY(logger) 在根目录CMakeLists.txt中包含子目录src,从而实现功能模块构建: ADD_SUBDIRECTORY(src)...中实现,这里安装目录,并过滤掉.cpp或者.c文件以及CMakeLists.txt文件,以logger模块为例: INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR...如有问题或者改进,一起来交流学习,最后欢迎大家关注公众号小白AI,不打广告,不为了写写,只为了分享自己学习过程^_^。

8.2K52

g++,CMake和Makefile了解一下

CMake一个跨平台编译(Build)工具,可以用简单语句来描述所有平台编译过程,其在make基础上发展而来,早期make需要程序员写Makefile文件,进行编译,现在CMake能够通过对...2.执行命令 cmake path生成Makefile,其中pathCMakeLists.txt所在目录。 3.使用make命令进行编译。...看到这些代码是不是很闷逼,为了让大家明白CMakeLists.txt文件内容,接下来说一下Cmake一些常用命令,你就能很好理解上面的代码了。...} ) 6)add_subdirectory 命令 命令语法:add_subdirectory(source_dir [binary_dir] [EXCLUDE_FROM_ALL]) 命令简述:用于添加一个需要进行构建目录...编译过程相对于CMakeLists.txt文件编写很简单,只有两步,如下 cmake make 其中cmake命令将CMakeLists.txt文件转化为make所需要makefile文件,最后用

1.5K20
领券