在CMake中,Kits是指一个完整的编译和开发环境,包括编译器、目标平台、调试器等,可以轻松地将项目编译到不同的平台上。常见的Kits有Visual Studio、Android、iOS等等。
C:\Users\Administrator\AppData\Local\CMakeTools\cmake-tools-kits.json
这个文件的作用就是:告诉VSCode当前系统中都有哪些编译器可供使用,一般是CMakeTools插件自动获取到的,cmake扫描到的我的电脑上的编译器
x86
默认是win32配置amd64_x86
默认是win32配置amd64
默认是win64配置x86_amd64
默认win64配置
如果编译器选择的不对,有时你会发现cmake config的项目工程不能生成32位程序,此时调整下编译即可。
历史插曲
早期时Intel先是自己搞了个x86
架构,然后amd拿到授权也可以做x86了。
接着intel向64位过渡的时候搞了个ia64(x64
架构),由于和x86架构不兼容,市场反应极差。
而amd率先搞了x86的64位兼容(32和64的混合架构),即现在的x86-64
,Intel反过来向AMD要授权(intel和amd两家专利交叉的很严重)生产x86-64。
因为amd先搞出来的,所以x86-64也叫amd64。
x86
是指intel的开发的一种32位指令集,从386开始时代开始的,一直沿用至今,是一种cisc指令集,所有intel早期的cpu,amd早期的cpu都支持这种指令集,intel官方文档里面称为“IA-32”x84_64
是x86 CPU开始迈向64位的时候,有2选择:
- 向下兼容x86
- 完全重新设计指令集,不兼容x86
AMD抢跑了,比Intel率先制造出了商用的兼容x86的CPU,AMD称之为AMD64
,抢了64位PC的第一桶金,得到了用户的认同。
Intel选择了设计一种不兼容x86的全新64为指令集,称之为IA-64(这玩意似乎就是安腾),但是比amd晚了一步,而且IA-64也挺惨淡的,因为是全新设计的CPU,没有编译器,也不支持windows(微软把intel给忽悠了,承诺了会出安腾版windows server版,但是迟迟拿不出东西)。后来不得不在时机落后的情况下也开始支持AMD64的指令集,但是换了个名字,叫 x86_64
,表示是x86指令集的64扩展,大概是不愿意承认这玩意是AMD设计出来的。
- 实际上,
x86_64
,x64
,AMD64
基本上是同一个东西,我们现在用的intel
/amd
的桌面级CPU基本上都是 x86_64,与之相对的arm
,ppc
等都不是x86_64。