__imp ошибки ссылок при использовании g ++ под mingw

У меня есть простая программа для сокетов, которую я пытаюсь скомпилировать, используя g ++, работающий в mingw (обе последние версии) в системе Win8. Я получаю распространенные ошибки компоновщика

undefined reference to `__imp_socket'
undefined reference to `__imp_gethostbyname'

Я попытался добавить -lws2_32 без удачи; то есть он все еще не может найти ссылки. Может кто-то предложить что-то еще, что я мог бы пропустить?

Вот полный вывод:

G:\source\kak>g++ -o ./test_client -lws2_32 test_client.C
C:\Users\kenkahn\AppData\Local\Temp\ccDZTr9b.o:test_client.C:(.text+0x4f): undefined reference to `__imp_inet_addr'
C:\Users\kenkahn\AppData\Local\Temp\ccDZTr9b.o:test_client.C:(.text+0x6b): undefined reference to `__imp_socket'
C:\Users\kenkahn\AppData\Local\Temp\ccDZTr9b.o:test_client.C:(.text+0x8b): undefined reference to `__imp_connect'
d:/program files/mingw/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.8.1/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\Users\kenkahn\AppData\Local\Temp\ccDZTr9b.o: bad reloc address 0xc in section `.xdata'
collect2.exe: error: ld returned 1 exit status

4

Решение

Попробуйте положить -lws2_32 после test_client.C параметр. Линкер gcc (ld) беспокоится о порядке связываемых вещей, поэтому, вероятно, он не находит импортированные функции во время линковки.

5

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]