1 概述
- 本文基于前文环境
本节目标:设置项目包含头文件路径, 关键语法target_include_directories。
2 目标
- main.cc 与 Typedef.h不在同一个目录下, Typedef.h 位于include目录下,main.cc位于src目录下
- main.cc 使用TypeDef.h中定义的类型和函数
2.1 目录结构
- 目录结构
.
│ CMakeLists.txt
│
├─Common
│ CommonOutput.cmake
│
├─include
│ Typedef.h
│
└─src
main.cc
2.2 main.cc代码
- 使用头文件 Typedef.h 中的函数 engine_count 和 结构体stAir
#include <iostream>
#include <Typedef.h>
/// 调用飞机属性
void call_air_demo()
{
// 结构体使用范例
cmake_demo::stAir aircraft(5678, std::string("B-0001"));
// 输出
std::cout << "\nid=" << aircraft.id_ << ", name=" << aircraft.name_.c_str() << "\n";
// 函数使用范例
std::cout << "engine_count=" << cmake_demo::air_engine_count() << "\n";
}
/// 程序入口
int main(int argc, char* argv[], char* env[])
{
call_air_demo();
return 0;
}
2.3 Typedef.h代码
- 定义函数engine_count 和 结构体 stAir
- 上码:
#ifndef TYPE_DEF_H_
#define TYPE_DEF_H_
#