【发布时间】:2018-08-04 12:16:45
【问题描述】:
如果这是重复的,我深表歉意,但我无法在此网站上找到与我类似的问题。
我正在尝试在 Windows 上使用 msys2 编译 GNU Guile 1.8.8,但遇到了“_imp__scm_shell”和“_imp__scm_boot_guile”未定义的引用错误。以下是我到目前为止所采取的步骤:
- 安装和更新 msys2-20170918
- 使用 pacman 安装 base-devel、mingw-w64-i686-toolchain、mingw-w64-x86_64-toolchain、mingw-w64-i686-libtool 和 mingw-w64-x86_64-libtool
- 下载 GNU Guile 1.8.8
- 打开 msys2\mingw32.exe 并 cd 到源代码目录
- 运行 ./configure --disable-error-on-warning
- 运行 make
几分钟后,它退出并出现以下错误:
guile-guile.o: In function 'inner_main':
C:\Users\<username>\Downloads\guile-1.8.8\libguile/guile.c:53: undefined reference to '_imp__scm_shell'
guile-guile.o: In function 'main':
C:\Users\<username>\Downloads\guile-1.8.8\libguile/guile.c:63: undefined refencere to '_imp__scm_boot_guile'
这里是日志文件,如果有用的话:https://drive.google.com/open?id=1dUj8ThwZKYL1Haehq3LFu6QAzkbDqqYv
非常感谢您提供有关我做错了什么的信息。
【问题讨论】:
-
快速搜索显示了一些历史上为 Windows 构建诡计的问题。对于已有 8 年历史的版本来说尤其如此。
-
即使是最新版本的构建脚本也应用了许多补丁,例如github.com/Alexpux/MSYS2-packages/tree/master/guile
-
@Joe 我明白了。我想我将不得不承认失败。
-
或者只是找出应该使用什么 DLL 来补充
scm_boot_guile和scm_shell并添加链接器标志以链接到该 DLL 的静态导入库 (.a) 文件中。 -
@DavidGrayson 我尝试在我的电脑上搜索一个,但似乎没有提到 scm_boot_guile 或 scm_shell 的 dll 文件。
标签: undefined-reference msys2 guile