srg*_*nky 4 operating-system cmake
我正在尝试将 CMake 用于 MIT JOS 操作系统项目 - http://repo.or.cz/mit-jos.git/tree或https://pdos.csail.mit.edu/6.828/2016/jos。混帐
这是目录结构
lab
- .bochsrc
- CODING
- GNUmakefile
- boot
- conf
- fs
- grade.sh
+ inc
- assert.h
- elf.h
- error.h
- kbdreg.h
- memlayout.h
- mmu.h
- stab.h
- stdarg.h
- stdio.h
- string.h
- types.h
- x86.h
- kern
- lib
- mergedep.pl
- user
- CMakeLists.txt
Run Code Online (Sandbox Code Playgroud)
该CMakeLists.txt下lab的文件夹(即项目文件夹)的样子
cmake_minimum_required(VERSION 3.6)
project(lab)
set(CMAKE_CXX_STANDARD 11)
set(SOURCE_FILES
boot/main.c
fs/test.c
kern/console.c
kern/console.h
kern/entrypgdir.c
kern/init.c
kern/kdebug.c
kern/kdebug.h
kern/monitor.c
kern/monitor.h
kern/printf.c
lib/printfmt.c
lib/readline.c
lib/string.c
user/sendpage.c)
add_executable(lab ${SOURCE_FILES})
Run Code Online (Sandbox Code Playgroud)
如何在下面包含头文件,inc以便源文件仍然可以使用#include <inc/types.h>etc. 而不是包含它们#include "../inc/types.h"?
听起来您需要为目标添加一个包含目录target_include_directories,例如(在 CMakeLists.txt 的末尾):
target_include_directories(lab PRIVATE ${CMAKE_SOURCE_DIR} )
Run Code Online (Sandbox Code Playgroud)
至于使用时尖括号和引号的区别#include,一般只对'系统'头文件(如C/C++标准头文件)使用尖括号,对用户提供的头文件使用引号(见#include之间的区别是什么<filename> 和 #include "filename"? )。
| 归档时间: |
|
| 查看次数: |
4100 次 |
| 最近记录: |