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的配置中加入下面一句话就可以解决。

target_link_libraries(${CMAKE_PROJECT_NAME} ws2_32)

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

#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

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 @ 2021-10-31 16:54  magicduan  阅读(1798)  评论(0编辑  收藏  举报