Hi everyone,
First of all thank you very much for all the help that you have been providing me. Unfortunately, i am with another bug. This time, i am havinh problems linking OBJ files that uses the following:

#include <stdio.h>
#include <winsock2.h>
#pragma comment(lib, "ws2_32")

When i link them, i get the following errors:

C:\lcc\bin>lcclnk wgate.obj
wgate.obj .text: undefined reference to '_socket@12'
wgate.obj .text: undefined reference to '_send@16'
wgate.obj .text: undefined reference to '_recv@16'
wgate.obj .text: undefined reference to '_WSAGetLastError@0'
wgate.obj .text: undefined reference to '_htons@4'
wgate.obj .text: undefined reference to '_inet_addr@4'
wgate.obj .text: undefined reference to '_gethostbyname@4'
wgate.obj .text: undefined reference to '_connect@12'
wgate.obj .text: undefined reference to '_WSAStartup@8'
wgate.obj .text: undefined reference to '_WSACleanup@0'

N.B: I use the LCC compiler and linker on windowsXP.

Try linking with winsock.lib

Is it this that you r talking about:

#pragma comment(lib, "ws2_32") :?:

then how ????

Microsoft-specific pragmas need not work anywhere but with a Microsoft toolchain.

#pragma comment(lib, "ws2_32")

I use the LCC compiler and linker on windowsXP.

What does the LCC documentation say about linking to specific libraries?

Microsoft-specific pragmas need not work anywhere but with a Microsoft toolchain.

#pragma comment(lib, "ws2_32")

What does the LCC documentation say about linking to specific libraries?

This is what the LCC help file says:

Libraries Distributed with lcc-win32
These libraries are distributed in the form of ASCII description files « .exp ». These files will be transformed by the installation program into libraries in lcc-win32 format. This is a different format than the format used by Microsoft, so the libraries generated are NOT compatible with Microsoft or other compilers.

To see the contents of each library, look at the corresponding .exp file in the \lcc\buildlib directory.

This article has been dead for over six months. Start a new discussion instead.