中国Linux公社论坛's Archiver

moy 发表于 2010-9-13 15:33

libc和libsocket问题

我在linux下编译一个程序,gcc -o lcx.o -c lcx.c 然后gcc -o lcx lcx.o没有问题,换到windows下使用msys+mingw,第一步gcc -o lcx.o -Iinclude -c lcx.c没问题,第二步gcc -o -Iinclude lcx.exe lcx.o就报错了:
undefined reference to 'accept'还有‘ntohs’等一大堆 连接错误
查了一下这个accept函数应该是socket库里的,好像linux下连接socket库不用加-lsocket,libc默认就有了,于是在mingw下加上了-lc参数 并且把libc.a 加到了mingw的库里,但还是报错undefined reference to 'accept',难道这个accept不是这个库里的?想找libsocket.a,似乎linux下没有这个静态库,只有libsocket.so,但mingw好像不能用动态库。怎么才能知道一个函数是哪一个静态库里的啊?我这个错误到底出在哪里呢?

默难 发表于 2011-2-13 22:25

-lws2_32
google一下就知道了
winsock需要加编译选项的

页: [1]

Powered by Discuz! Archiver 6.1.0F  © 2001-2007 Comsenz Inc.