而不是链接lws2_32,哪个库丢失?

时间:2016-06-23 09:25:33

标签: c sockets unix cygwin tcp-ip

我开始使用socket编程,我能够正确编译我的程序,没有任何错误,即命令

void print(){
    if (!isEmpty()) {
        int i = front;
        do {
            System.out.print(" " + arr[i];
            i = ++i % arr.length;
        while (i != rear);
    }
}

没有错误,但当我尝试将它与库链接并尝试创建一个可执行文件来运行我的代码,即

gcc -c file_name.c

它抛出一个未定义的引用inet_pton的错误,我想知道我错过了哪个链接库以及为什么会出现这个错误

我的代码如下

gcc file_namme.o -o file_name -lws2_32

1 个答案:

答案 0 :(得分:0)

你所编写的程序不是cygwin(unix)程序,而是纯粹的windows程序。因此你不能使用gcc编译器,而是使用mingw64交叉编译器(cygwin to mingw64)

安装mingw64-x86_64-gcc-core(或mingw64-i686-gcc-core),具体取决于你的arch并使用x86_64-w64-mingw32-gcc.exe(或i686-w64-mingw32-gcc.exe)编译器。