写编译原理词法分析实验的时候用到了C++语言,因为写的.cpp文件有三个,vscode单独只能编译一个文件,所以最开始是用g++ main.cpp Table.cpp class.cpp -o a
命令行编译,然后./a
执行,简单的可以这么干,但一想到ZYNQ PS端开发需要C/C++的知识,合适的编译工具迟早会用到逃不掉,Makefile会一点但觉得麻烦,就想到用CMake写makefile。
Mingw当然是必不可少的,不过很少有初学者会一次性配置全所有环境吧,能想到用CMake编译器肯定是有的。
下载cmake工具Cmake官网下载,选择对应操作系统的安装包,建议选择.msi后缀,因为不用手动添加环境变量,下载运行后会自动添加。详细的看这篇Windows下CMake的下载与安装详解。国内网络下了几次没成功,不是下载到一半传输速度归零就是从一开始速度就为零不增加。
在Vscode下载CMake和CMake Tool插件
在工程文件夹新建CMakeLists.txt文件,名字就这个别乱改,其实改的别太离谱就行,第一次把M写成了m,vscode也成功识别到了它是CMake文件,别学。蓝色的M标志就是识别成功,命名时不加.txt也会识别失败。
简单的CMake构建Makefile三行代码即可。第一行指定需要的CMake构建工程的最低版本。第三行指定工程名,第五行指定工程需要的cpp文件名。也有设计多种文件类型和不同库的CMake写法,遇到了再学。
然后是用cmake -G "MinGW Makefiles" .
构建Makefile,注意有个小数点,make
生成word_analyse.exe可执行文件,最后./word_analyse
执行。
最开始看别人教程时遇到过 cmake .
的写法,在我的Vscode里不能识别,系统找不到指定的文件。
若是make不能识别有的教程会让你把mingw-w64下的bin文件夹里的mingw32-make.exe改名为make.exe,这样确实能识别make命令了,但是我在删除完CMake生成的文件后重新cmake -G "MinGW Makefiles" .
会报错。所以最后的办法是复制mingw32-make.exe
文件粘贴在在同一文件夹后改名为make.exe
,这样文件夹里就有mingw32-make.exe
和make.exe
两个文件,都能识别到。删除CMake生成文件后再次重复上述流程,成功。