Visual C++ 2012 Express 缺少windows 系统lib库解决方法

本文介绍了解决Visual C++ 2012 Express 编译时出现的“gdi32.lib”文件缺失问题的方法。由于Windows SDK的变化导致不支持Windows XP,提供了两种解决方案:一是下载特定版本的Windows SDK库;二是调整项目属性中的附加依赖项。

今天用Visual C++ 2012 Express开发东西

编译发现:

错误    1    error LNK1104: 无法打开文件“gdi32.lib”

牛X了,windows 系统lib库怎么会没有呢?


原来,微软为了鼓励大家开发win8,把windows SDK改了很多

也正因为这样,这个版本编译出来的东西不支持 windows XP

解决方法有:

1、下载我做好的windows SDK7 的库: http://down.51cto.com/data/546643

把 里面lib 目录加入到项目属性 -〉VC目录  库目录("Projects->VC++ Directories","Library Files")


2 项目属性 -〉链接器-〉输入-〉附加依赖项由原来的:

kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)

改为:kernel32.lib;user32.lib

只需要两个lib就可以了


打开下面链接,直接免费下载资源: https://renmaiwang.cn/s/7qdhf 标题中的"WS2_32.LIB 和 WS2_32.DLL"是Windows操作系统中用于网络编程的重要组件,它们是Windows Socket 2 (Winsock2) 的动态链接(DLL)和静态链接LIB)。这两个文件为开发者提供了访问TCP/IP协议栈的功能,使得在Windows平台上开发网络应用变得更加便捷。WS2_32.DLL是动态链接,它包含了实现各种网络通信功能的函数,例如创建套接字(socket)、绑定(bind)、监听(listen)、接受(accept)、连接(connect)、发送(send)、接收(recv)等。当你的程序运行时,它会依赖这个来执行这些网络操作。如果在编译过程中遇到“无法解析的外部符号”错误,通常是因为缺少了对WS2_32.DLL的引用,这时需要确保在项目设置中正确链接到该。WS2_32.LIB则是静态链接,它是编译期间使用的,将WS2_32.DLL中定义的函数链接到你的程序中。在编译时,链接器会从这个中获取必要的信息,使得程序在运行时无需再依赖WS2_32.DLL。如果你的程序编译时提示“无法解析的外部符号”如connect等函数,这可能意味着你需要将WS2_32.LIB添加到你的项目链接器输入中。SOCKET是Winsock API中的核心数据类型,它代表一个网络通信的端点。当你调用socket()函数创建一个SOCKET句柄后,就可以使用其他Winsock函数进行进一步的操作,如建立连接、发送数据或接收数据。Winsock API提供了一种标准的方式来访问多种网络协议,包括TCP(传输控制协议)和UDP(用户数据报协议)。网络编程的基本流程通常如下:1. 初始化Winsock:调用WSAStartup()函数启动Winso
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值