Sos*_*der 8 windows gcc mingw go libiconv
我目前正在尝试设置一个Go项目,考虑到我正在运行Windows,而其他两个开发人员正在使用Mac,我在安装一些软件包时遇到了一些麻烦.
在尝试使用cmd安装软件包之后,我只能安装4个中的2个.其他两个需要gcc.
因此,我安装了MinGW.我能够以这种方式安装第三个软件包,但现在我被困在https://github.com/mikkyang/id3-go上.
它似乎依赖于另一个基础项目,https://github.com/djimenez/iconv-go.我尝试go installid3-go 的那一刻,我总是留下这个错误:
src\github.com\djimenez\iconv-go\converter.go:8:19: fatal error: iconv.h: No such file or directory
Run Code Online (Sandbox Code Playgroud)
不知何故,我需要将libiconv与MinGW一起使用,但我不知道如何连接两个部分.我不是那个领域的专家,所以任何帮助都会受到很多赞赏.我已经下载了libiconv for Windows.
我在github项目中找到的其他信息的相关问题:https: //github.com/mikkyang/id3-go/issues/21
编辑:我在整个问题上取得了一些进展.我现在得到了我需要的所有文件,但现在我遇到了这个警告:
# github.com/djimenez/iconv-go
E:/Tools/TDM-GCC/bin/../lib/gcc/x86_64-w64-mingw32/5.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -liconv
collect2.exe: error: ld returned 1 exit status
Run Code Online (Sandbox Code Playgroud)
我试图将libiconv2.a从我的libiconv安装添加到mingw32 lib文件夹,但这就是我最终的结果:
# github.com/djimenez/iconv-go
E:/Tools/TDM-GCC/bin/../lib/gcc/x86_64-w64-mingw32/5.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible E:/Tools/TDM-GCC/bin/../lib/gcc/x86_64-w64-mingw32/5.1.0/../../../../x86_64-w64-mingw32/lib/../lib/libiconv.a when searching for -liconv
E:/Tools/TDM-GCC/bin/../lib/gcc/x86_64-w64-mingw32/5.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible E:/Tools/TDM-GCC/bin/../lib/gcc/x86_64-w64-mingw32/5.1.0/../../../../x86_64-w64-mingw32/lib/../lib\libiconv.a when searching for -liconv
E:/Tools/TDM-GCC/bin/../lib/gcc/x86_64-w64-mingw32/5.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible E:/Tools/TDM-GCC/bin/../lib/gcc/x86_64-w64-mingw32/5.1.0/../../../../x86_64-w64-mingw32/lib/libiconv.a when searching for -liconv
E:/Tools/TDM-GCC/bin/../lib/gcc/x86_64-w64-mingw32/5.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible E:/Tools/TDM-GCC/bin/../lib/gcc/x86_64-w64-mingw32/5.1.0/../../../../x86_64-w64-mingw32/lib\libiconv.a when searching for -liconv
E:/Tools/TDM-GCC/bin/../lib/gcc/x86_64-w64-mingw32/5.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible E:/Tools/TDM-GCC/bin/../lib/gcc/x86_64-w64-mingw32/5.1.0/../../../../x86_64-w64-mingw32/lib/../lib/libiconv.a when searching for -liconv
E:/Tools/TDM-GCC/bin/../lib/gcc/x86_64-w64-mingw32/5.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible E:/Tools/TDM-GCC/bin/../lib/gcc/x86_64-w64-mingw32/5.1.0/../../../../x86_64-w64-mingw32/lib/libiconv.a when searching for -liconv
E:/Tools/TDM-GCC/bin/../lib/gcc/x86_64-w64-mingw32/5.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -liconv
collect2.exe: error: ld returned 1 exit status
Run Code Online (Sandbox Code Playgroud)
我不知道怎么从这里开始.
当我想要go install github.com/google/gopacket哪个需要时,我遇到了同样的问题CGO。这是因为你的libiconv2.a编译器是由其他编译器生成的,所以它与 mingw32 编译器不兼容,如错误消息所示。我们需要使用 mingw32 工具集生成静态库:
gendef(位于我的 64 位 Windows 中的 C:\TDM-GCC-64\x86_64-w64-mingw32\bin 中)gendef libiconv-2.dll,这将生成 libiconv2.def 文件然后生成静态库:
dlltool --as-flags=--64 -m i386:x86-64 -k --output-lib libiconv2.a --input-def libiconv2.def
将 libiconv2.a 复制到正确的位置。
| 归档时间: |
|
| 查看次数: |
580 次 |
| 最近记录: |