Windows VS Code环境下编写socket程序

项目需要做一个简单的Windows下的socket client端。程序不复杂,不准备使用厚重的Visual Studio来开发了。

在已有的Windows + VS Code + CMake + mingw 的环境下写socket程序。

Windows下的Socket程序与Linux的gnu的Socket不同,使用的是winsock2.h, ws2_32.lib来实现的。不需要去下载或找到ws2_32.lib这个文件。

在CMakeList.txt的配置中加入下面一句话就可以解决。

1
target_link_libraries(${CMAKE_PROJECT_NAME} ws2_32)

 将简单的c 代码,以及cmakeist.txt 贴到这里。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdio.h>
#include <stdio.h>
#include <stdlib.h>
 
#include<winsock2.h>
 
int main(int argc, char** argv) {
    WSADATA wsaData;
    int iResult = WSAStartup(MAKEWORD(2 ,2), &wsaData);
    if (iResult != 0) {
        printf("error at WSASturtup\n");
        return 0;
    }
}

  cmakelist.txt

1
2
3
4
5
6
7
8
9
10
11
12
13
cmake_minimum_required(VERSION 3.0.0)
project(rtt-client VERSION 0.1.0)
 
include(CTest)
enable_testing()
 
file(GLOB SOURCES *.c)
add_executable(${CMAKE_PROJECT_NAME} rtt-client.c)
target_link_libraries(${CMAKE_PROJECT_NAME} ws2_32)
 
set(CPACK_PROJECT_NAME ${PROJECT_NAME})
set(CPACK_PROJECT_VERSION ${PROJECT_VERSION})
include(CPack)

  

 

posted @   magicduan  阅读(2109)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示