zl程序教程

您现在的位置是:首页 >  工具

当前栏目

VSCode + CMake + MinGW实战教程

VSCode教程 实战 CMake MINGW
2023-09-11 14:21:26 时间

本教程的目的是用VSCODE来做一个实用的窗口应用程序,并添加图标,菜单。

第一步,创建一个文件夹这里是SocketCPP
第二步,在VS Code中打开文件夹
第三步,点击创建文件夹标签,在SocketCPP文件夹下再创建2个文件夹src和inc
在文件夹src中新建一个文件main.cpp
在文件夹inc中新建一个文件socketc.cpp和一个头文件socketc.h
先把代码全部写在文件main.cpp里
在当前文件为main.cpp的情况下,点击左边的运行按钮;选择MinGW的g++来编译运行
这时会自动生成launch.json和tasks.json

出现乱码,点VS Code 右下角的UTF-8标签,输入encoding
选GB2312/GBK,然后将乱码处改为中文,再编译就好了
增加通讯功能:
用到引用#include "winsock2.h",#include <windows.h>,#include <thread>,库#pragma comment(lib,"ws2_32.lib")
task.json编译参数args:MinGW下G++用
"-g",//编译
"${file}",//当前文件
"-o",//输出
"${fileDirname}\\${fileBasenameNoExtension}.exe",文件名
"-mwindows",//只输出窗体
"-static",包括一些文件,下同
"-static-libgcc",
"-static-libstdc++",
"-lws2_32"包ws2_32.lib文件
用cmake编译项目:
CMake和Mingw绑定:按Ctrl+Shift+P
输入Cmake: Quick Start
输入Cmake: Select a Kit
如果没有看到Mingw,点扫描工具包
选GCC 8.1.0
如果没有发现CMakeLists.txt,选创建
创建可执行文件
默认创建了一个main.cpp,编译链接后输出"Hello World!"
修改CMakeLists.txt,让CMake来生成项目文件供Mingw编译
cmake_minimum_required(VERSION 3.0.0)//CMake最小版本要求
project(Client VERSION 0.1.0)//项目名称,版本
set(LINK_DIR /lib) //本通讯程序用到了ws2_23.lib外部库,这里将它放到了目录lib下面,下面三句语句是链接库用的
link_directories(${LINK_DIR})
link_libraries(ws2_32)
aux_source_directory(src DIR_SRCS) //src目录下的源码全部放到变量DIR_SRCS中
add_executable(Client ${DIR_SRCS}) //源码编译链接输出到可执行文件Client.ext
set(CMAKE_CXX_FLAGS "-mwindows") //去掉DOS窗口
再进一步将拆分文件,下面是框架(因为添加了引用,Mingw现在也可以编译)

Client.cpp是主程序,这里主要是创建窗口,创建线程,调用通讯类
常量及变量定义在Client.h中
通讯类在文件socketc.cpp文件中
通讯类调用示例 

 

 后面再进一步建立图标,仿vs建菜单。。。

源码链接(本资料不需要下载积分):

CSSocketCPP.zip-其它文档类资源-CSDN下载