首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GetSaveFileName与MinGW交叉编译时链接失败

GetSaveFileName与MinGW交叉编译时链接失败
EN

Stack Overflow用户
提问于 2019-01-08 15:46:08
回答 1查看 395关注 0票数 2

我试图在Ubuntu18.04上编译一个修改过的UniLogger版本。我得到以下链接错误:

undefined reference to '_imp__GetSaveFileNameW@4'

我发现这篇文章在MinGW邮件列表上说需要显式地链接到comdlg32,所以我也尝试了:

i686-w64-mingw32-g++ -municode -o unilogger.exe -lcomdlg32 Source.cpp

但仍然有同样的错误,就像在帖子中问的那个人一样。他和我都在lib文件中验证了函数的存在:

nm /usr/i686-w64-mingw32/lib/libcomdlg32.a

代码语言:javascript
复制
libcomdlg32s00012.o:
00000000 b .bss
00000000 d .data
00000000 T _GetSaveFileNameW@4
         U __head_lib32_libcomdlg32_a
00000000 i .idata$4
00000000 i .idata$5
00000000 i .idata$6
00000000 i .idata$7
00000000 I __imp__GetSaveFileNameW@4
00000000 t .text

libcomdlg32s00011.o:
00000000 b .bss
00000000 d .data
00000000 T _GetSaveFileNameA@4
         U __head_lib32_libcomdlg32_a
00000000 i .idata$4
00000000 i .idata$5
00000000 i .idata$6
00000000 i .idata$7
00000000 I __imp__GetSaveFileNameA@4
00000000 t .text

我现在有点不知所措。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-08 20:41:37

好的,找出问题所在-命令行的论证顺序:

i686-w64-mingw32-g++ -lcomdlg32 -municode -o unilogger.exe

给出链接错误,但是

i686-w64-mingw32-g++ -municode -o unilogger.exe -lcomdlg32

编译得很好。实际上我觉得我以前和gcc遇到过这个问题现在我想到了.

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54095214

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档