WIN32 手动编译

前言

我们编译的相关工程目录如下:
在这里插入图片描述

  1. Main.cpp 源代码
  2. Project1.rc 资源文件
  3. resource.h 资源头文件定义

我们简单看下源代码Main.cpp 就是一个简单的带菜单的UI界面代码

在这里插入图片描述

编译cpp 为 obj

cl /c /EHsc Main.cpp

参数说明:
/c编译不连接
/EHsc 异常处理

上述命令会把cpp的中所有头文件展开,编译成obj汇编文件
头文件的寻找优先级:
如果是以#include<>引入的那么首先会在环境变量中查找。对应的环境遍历名为 include.
笔者环境变量输出图:
在这里插入图片描述

#include"" 首先会到当前编译的命令环境文件目录查找(比如你的工程在c:/project,那么会在c:/project下自动查找)

如果需要指定头文件位置请使用 -IXXXXXXX 参数,XXXX为头文件所在目录 如-IC:/project/includes.

编译rc文件

Project1.rc 文件是WIN32定义资源的文件,你可以使用rc编译器编译成后缀为xxx.res的文件

如下图
在这里插入图片描述

在这里插入图片描述

链接

link /subsystem:windows User32.lib Main.obj Project1.res

/subsystem:windows 告诉链接器生产一个win32界面程序
User32.lib 由于我们使用了windows相关函数所以必须告诉编译器其编译后库文件

链接相关库文件位置说明:
如果没有说明具体的库文件位置那么将会将会从环境变量LIB从查找
在这里插入图片描述

link链接相关文档
资源编译器文档
cl编译器文档

©️2020 CSDN 皮肤主题: 游动-白 设计师:上身试试 返回首页