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 低レベル/liblow-l evel.la ドライバー/libdriver.la メイン/libmain.la エンジン/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 low-level/.libs/liblow-level.a driver/.libs/libdriver.a main/.libs/lib main.a engine/.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 を使用して、これらのフィックスアップを無効にします low-level/.libs/liblow-level.a(mailsmtp.o): 関数 `get_hostname' 内: c:\libetpan-00c7589\src\low-level\smtp/mailsmtp.c:266: `_ への未定義の参照 getnameinfo' collect2.exe: エラー: ld が 1 つの終了ステータスを返しました $ nm /i/Programs/MinGW/lib/libws2_32.a | grep getnameinfo 00000000 I __imp__getnameinfo@28 00000000 T _getnameinfo@28