首次cmake 多目录构建失败

新建test3目录,新建如下图空目录;前文有4个源码文件,2个h,2个cpp;把前文的cpp文件拷贝到src目录下,把h文件拷贝到include目录下;前文的CMakeLists.txt拷贝到test3目录下;

首次cmake 多目录构建失败_第1张图片

在src目录新建一个CMakeLists.txt,写一句语句如下图;现在要构建的项目的名称设为mytest3;

首次cmake 多目录构建失败_第2张图片 

include目录也添加一个CMakeLists.txt;一行语句如下;

首次cmake 多目录构建失败_第3张图片 

doc目录下添加一个文档;

首次cmake 多目录构建失败_第4张图片 

根test3目录下的CMakeLists.txt修改为如下;

首次cmake 多目录构建失败_第5张图片 

    add_subdirectory(src include),这句看上去是把2个子目录加进来;

prj目录下为空;

首次cmake 多目录构建失败_第6张图片 

构建,done;

首次cmake 多目录构建失败_第7张图片 

生成内容如下;

首次cmake 多目录构建失败_第8张图片 

从VS2015打开看一下,没成功;

因为 add_subdirectory(src include) 这句错了;只把src目录加入了,这里的include可能当成add_subdirectory的第二个参数了,没有把include目录加入;

然后把test3目录下的CMakeLists.txt改为如下;

cmake_minimum_required(VERSION 3.10)
project(mytest3 VERSION 1.0)
add_subdirectory(src)
add_subdirectory(include)

再次构建,出错如下图; 

首次cmake 多目录构建失败_第9张图片 

    提示2个 add_executable(mytest3... 冲突了;

然后再把test3下的改为如下;
 

cmake_minimum_required(VERSION 3.10)
project(mytest3 VERSION 1.0)
add_executable(mytest3 src/main.cpp src/add.cpp include/add.h include/num.h)

现在不需要子目录下的CMakeLists.txt,随便改个名字;

构建done了以后,从VS打开如下; 

首次cmake 多目录构建失败_第10张图片 

目录的结构没有问题;但是main.cpp里面找不到 #include "add.h" #include "num.h" 这两个;

你可能感兴趣的:(VC++,cmake,多目录)