mobaxterm - 编译 C 和 C++ 时遇到问题

问题描述 投票:0回答:2

当我尝试在 Mobaxterm 中编译 c/c++ 程序时,出现以下错误。

/bin/ld: cannot find -ladvapi32
/bin/ld: cannot find -lshell32
/bin/ld: cannot find -luser32
/bin/ld: cannot find -lkernel32
collect2: error: ld returned 1 exit status

我的C盘system32文件夹中有advapi32.dll、shell32,dll、user32.dll和kernel32.dll。但是,我不确定如何让终端在那里查找 .dll 文件。我该如何解决这个问题? 如果您希望我提供其他信息,请告诉我。

terminal compilation
2个回答
0
投票

出现此问题的原因是,在Mobaxterm中,有时会以错误的顺序下载库,从而导致某些文件未包含在内。下载库时,它会检查该文件夹是否已存在,如果是,则不会更新。尝试卸载并重新安装 mobaxterm,并以不同的顺序下载必要的软件包。不同包装可能有所不同。


0
投票

您可以打开 Moba 本地终端并输入 MobApt。 这将启动包管理器,您可以在其中找到所有可用的包。 我在使用 Python 时遇到了类似的问题,因为我需要 python.h 文件,但它不在我的 Moba 安装中。 我在 python-...-devel 包中找到了它。 安装这个包后,我的Python环境完美运行。

运行 MobApt 时,您可以设置复选框来显示或不显示已安装的软件包或开发库等内容。 我一开始没有注意到这一点,所以我摸索了一下寻找包裹。 设置正确的选项后,我找到了我需要的一切以及更多。

© www.soinside.com 2019 - 2024. All rights reserved.