MinGW32 无法配置源:“未定义对'信号'的引用等

MinGW32 can't configure sources: "undefined reference to `signal' and etc

提问人:javierMarquez 提问时间:11/9/2021 最后编辑:javierMarquez 更新时间:11/10/2021 访问量:885

问:

去年,我在 MinGW 上构建了一些源代码,没有任何问题。现在,当我尝试使用我得到的另一个参数重新配置此源时(config.log 中 libjansson-2.10 的 ./configure 输出的一部分):

configure:3318: checking whether the C compiler works
configure:3340: gcc    conftest.c  >&5
c:/mingw/bin/../lib/gcc/mingw32/8.2.0/../../../crt2.o:(.text+0x34): 
undefined reference to `signal'
...
c:/mingw/bin/../lib/gcc/mingw32/8.2.0/../../../crt2.o:(.text+0x89): 
undefined reference to `_imp___iob'
...

和其他未定义的引用。但是,如果我制作这个旧的配置源,它们就会成功重新分配。

我卸载了旧的 MinGW 并下载了一个新的,检查了所有与 dll、bin 和 dev 相关的复选框,但仍然在不同的来源出现相同的错误。我更改了 PATH 以删除除 C:\MinGW\bin 之外的所有链接;C:\MinGW\msys\1.0\bin; 等,但都一样。这是 PATH 或 pkg-config 或其他问题吗?

更新:当我编译Hello world时,我得到同样的错误。

g++ -Wall -o2 -s -nodefaultlibs Hello.cpp -o Hello.exe
c:/mingw/bin/../lib/gcc/mingw32/8.2.0/../../../../mingw32/bin/ld.exe: 
c:/mingw/bin/../lib/gcc/mingw32/8.2.0/../../../crt2.o:(.text+0x97): undefined reference to `signal'
gcc windows-7 mingw 配置 未定义的引用

评论

0赞 Brecht Sanders 11/10/2021
为什么有链接器标志?这可能就是 undefined 的原因。-nodefaultlibssignal()
0赞 javierMarquez 11/10/2021
否,-nodefaultlibs 会减少错误数。

答:

0赞 javierMarquez 11/10/2021 #1

我的问题出在存储此值LIBRARY_PATH变量中:

C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.24.28314\lib\x64;
C:\Program Files (x86)\Windows Kits\8.1\Include\um 
C:\MinGW\msys\1.0\lib;

LD_LIBRARY_PATH 与 LIBRARY_PATH

当我删除它并重新启动计算机时,所有未定义的都消失了。