Aurora Engine 游戏引擎入门 06(设置预编译头文件pch)

    科技2022-07-11  136


    #1 C++预编译头文件好处 #2 创建预编译头文件 #3 在premake中设置预编译 #4 设置项目中的所有cpp包含pch头


    #1 C++预编译头文件好处

    项目的头文件可以统一进行管理,方便之后的查询和拓展之前每个*.cpp都需要引入头文件,很多需要引入一样的头文件,没有这个必要加速项目的编译,如果项目有很多重复包含的头文件,只需要进行一次编译就可以
    // aopch.h /* * *.pch 头文件的概念 * 所谓的预编译头就是把一个工程中的那一部分代码,预先编译好放在一个文件里(通常是以.pch为扩展名的), * 这个文件就称为预编译头文件这些预先编译好的代码可以是任何的C/C++代码--------甚至是inline的函数, * 但是必须是稳定的,在工程开发的过程中不会被经常改变。 */ #pragma once // 简单处理系统库头文件 // 这些头文件在之后使用到不需进行二次编译,只包含一次 #include <iostream> #include <memory> #include <utility> #include <algorithm> #include <functional> #include <string> #include <sstream> #include <vector> #include <unordered_map> #include <unordered_set> // 平台特殊处理 #ifdef AO_PLATFORM_WINDOWS #include <Windows.h> #endif
    // 必须创建一个cpp文件来 #include "aopch.h" // 因为我们需要指定一个源文件来进行编译 #include "aopch.h"

    #3 配置premake

    outputdir = "%{cfg.buildcfg}-%{cfg.system}-%{cfg.architecture}" -- 开始配置一个静态库子项目'Aurora' project "Aurora" location "Aurora" -- 项目的根目录,相对于当前文件来说,同级 kind "SharedLib" -- 项目的类型,SharedLib静态库 language "C++" -- 语言 -- 生成的目标文件夹bin + Debug-windows-x86_64 + Aurora -- prj是project的简写 targetdir ("bin/" .. outputdir .. "/%{prj.name}") -- 中间临时文件生成目录 objdir ("bin-int/" .. outputdir .. "/%{prj.name}") -- 设置项目的预编译文件 -- 在VS2019中的选项是项目-属性-配置属性-C/C++-预编译头-[使用+aopch.h] pchheader "aopch.h" -- 控制预编译文件的源文件 -- 在VS2019中的选项是aopch.cpp-属性-配置属性-C/C++-预编译头-[创建+aopch.h] pchsource "Aurora/src/aopch.cpp" -- 当前项目的源码目录 files { "%{prj.name}/src/**.h",

    #4 见Gitea源码


    Gitea


    Processed: 0.009, SQL: 8