使用VS开发者命令行(NMAKE)编译curl x64版本出错求助
解决libcurl在VS2022下的编译问题
1. 关于生成libcurl.lib而非libcurl.a的说明
在Visual Studio的MSVC编译环境中,静态库的标准后缀是.lib,.a是GCC/MinGW等类Unix编译器的静态库格式。你x86编译生成的libcurl.lib完全正常,直接在VS项目中引用即可,无需纠结后缀差异。
2. 正确编译x64版本libcurl的步骤
你手动复制HostX64文件到HostX86的操作会破坏编译环境,是错误的。正确流程如下:
- 打开开始菜单的
Visual Studio 2022文件夹,选择**x64 Native Tools Command Prompt for VS 2022**(这是专门针对x64编译的原生命令环境)。 - 在打开的命令行中进入curl的winbuild目录:
cd curl-7.87.0\winbuild - 执行适配VS2022的编译命令:注意VS2022对应的VC版本是143(
VC=10对应VS2010,不匹配你的环境),命令修正为:nmake /f Makefile.vc mode=dll VC=143 debug=no machine=x64 - 编译完成后,生成的库文件会存放在
curl-7.87.0\builds\libcurl-vc143-x64-release-dll-ipv6-sspi-schannel目录下,包含所需的lib和dll文件。
3. 报错排查补充
如果仍有报错,检查以下几点:
- 执行
echo %PROCESSOR_ARCHITECTURE%,确认输出为AMD64,确保当前命令环境是x64架构。 - 保证
curl-7.87.0\winbuild\Makefile.vc为原始文件,未被修改。 - 尝试以管理员身份运行命令提示符,避免权限不足导致的编译失败。
内容的提问来源于stack exchange,提问作者John
相关产品推荐
相关产品推荐

