我不明白为什么 g++getnameinfo
在 ws2_32 中找不到,nm 显示它在那里。这是输出:
$ I:/Programs/MinGW/msys/1.0/bin/sh.exe ../libtool --tag=CXX --mode=link g++ -g -O2 -no-undefined -version-info 16:0:0 -o libetpan.la -rpath /i/Programs/M inGW/lib dummy.lo versioninfo.lo data-types/libdata-types.la low-level/liblow-l evel.la driver/libdriver.la main/libmain.la engine/libengine.la windows/libarch .la -L/i/Programs/MinGW/lib -lws2_32 -liconv libtool:链接:rm -fr .libs/libetpan.dll.a libtool:链接:g++ -shared -nostdlib i:/programs/mingw/bin/../lib/gcc/mingw32/4。 7.0/../../../dllcrt2.oi:/programs/mingw/bin/../lib/gcc/mingw32/4.7.0/crtbegin.o .libs/dummy.o .libs/versioninfo.o -Wl,--whole-archive data-types/.libs/libdat a-types.a 低级/.libs/liblow-level.a 驱动程序/.libs/libdriver.a main/.libs/lib main.a 引擎/.libs/libengine.a windows/.libs/libarch.a -Wl,--no-whole-archive -lws2_32 -lws2_32 -lws2_32 -lws2_32 -lws2_32 -lws2_32 -L/i/Programs/MinGW/lib -l ws2_32 /mingw/lib/libiconv.dll.a -Li:/programs/mingw/bin/../lib/gcc/mingw32/4.7。 0 -Li:/programs/mingw/bin/../lib/gcc -Li:/programs/mingw/bin/../lib/gcc/mingw32/ 4.7.0/../../../../mingw32/lib -Li:/programs/mingw/bin/../lib/gcc/mingw32/4.7.0/。 ./../.. -lstdc++ -lmingw32 -lgcc_s -lgcc -lmoldname -lmingwex -lmsvcrt -ladvapi3 2 -lshell32 -luser32 -lws2_32 -lkernel32 -lmingw32 -lgcc_s -lgcc -lmoldname -lmi ngwex -lmsvcrt i:/programs/mingw/bin/../lib/gcc/mingw32/4.7.0/crtend.o -O2 -p 线程 -o .libs/libetpan-16.dll -Wl,--enable-auto-image-base -Xlinker --out-impl ib -Xlinker .libs/libetpan.dll.a 创建库文件:.libs/libetpan.dll.a 警告:通过链接到 _closesocket@4 来解析 _closesocket 使用 --enable-stdcall-fixup 禁用这些警告 使用 --disable-stdcall-fixup 禁用这些修复 低级/.libs/liblow-level.a(mailsmtp.o):在函数“get_hostname”中: c:\libetpan-00c7589\src\low-level\smtp/mailsmtp.c:266: 未定义引用`_ 获取名称信息' collect2.exe:错误:ld 返回 1 退出状态 $ nm /i/Programs/MinGW/lib/libws2_32.a | grep 获取名称信息 00000000 我 __imp__getnameinfo@28 00000000 T _getnameinfo@28