我正在尝试使用Winsock函数进行一些测试。我在Eclipse IDE中使用MinGW c ++编译器。 minggw32-base安装版本是2013072200,eclipse版本是Kepler SR1 Build 20130919-0819
我的程序如下所示(实际上现在没有做任何事情......):
SocketTest_Server.hpp:
#ifndef SOCKETTEST_SERVER_HPP_
#define SOCKETTEST_SERVER_HPP_
#include <cstdlib>
#include <iostream>
#include <winsock2.h>
#endif /* SOCKETTEST_SERVER_HPP_ */
SocketTest_Server.cpp:
#include "SocketTest_Server.hpp"
using namespace std;
int main(int argc, char *argv[])
{
cout << "Test" << endl;
return 0;
}
我通过以下方式添加了库路径:
项目属性 - &gt; C / C ++一般 - &gt;路径和符号 - &gt;图书馆:添加了ws2_32 项目属性 - &gt; C / C ++一般 - &gt;路径和符号 - &gt;库路径:添加了C:/ MinGW / lib
现在编译时,我收到以下错误消息(显示完整的编译命令行):
g++ -O0 -g3 -Wall -c -fmessage-length=0 -o SocketTest_Server.o "..\\SocketTest_Server.cpp"
g++ -LC:/MinGW/lib -o SocketTest_Server.exe SocketTest_Server.o -lws2_32
c:/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/lib/crt2.o:crt1.c:(.text+0x376): undefined reference to `__mingw_glob'
c:/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/lib/crt2.o:crt1.c:(.text+0x47d): undefined reference to `__mingw_glob'
collect2.exe: error: ld returned 1 exit status
有人可以告诉我这里我做错了什么吗?非常感谢!
答案 0 :(得分:0)
这个问题可能是由很多事情引起的,但我相信你有一个过时的工具链。
在任何情况下,您都可以升级到更新,更完整的MinGW-w64,它在Windows上提供带有GCC的32位和64位工具链(ARM传入)。 您可以使用the installer来获取它。
在您的情况下,我建议只删除C:\MinGW
中的所有内容并在同一个位置安装MinGW-w64(32位)工具链。 Eclipse甚至不知道发生了什么,也不需要更改设置。