Windows 64位下cgo LDFLAGS无法找到tuser.lib文件的技术求助
解决Windows下cgo编译找不到tuser.lib的问题
针对你遇到的编译错误,可通过以下修改解决:
1. 修正库路径与链接参数格式
你的#cgo LDFLAGS存在两个问题:
- 路径错误:tuser.lib和Go文件在同一目录,但你指定了
-L./lib(指向lib子目录),需改为当前目录-L.; - 库名格式错误:Windows下gcc链接时,
-l参数后无需加.lib后缀,编译器会自动补全。
修改后的cgo语句如下:
/* #cgo LDFLAGS: -L. -ltuser #include <stdio.h> #include <windows.h> */ import "C"
2. 额外排查点
- 确认tuser.lib是64位版本:你的系统是Windows 64位,Go默认编译64位程序,32位库会导致链接失败;
- 检查C编译器环境:确保MinGW-w64(64位)的bin目录已加入系统PATH,Go的cgo依赖该编译器完成链接。
内容的提问来源于stack exchange,提问作者Baab
相关产品推荐
相关产品推荐

