Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

error LNK2019 при работе с Windows Sockets

589
25 июня 2004 года
rarelang
55 / / 08.05.2004
Помогите мне пожалуйста решить следующую проблему:

Я создал консольное приложение (Visual С++ - Win32 Console Project) и работаю с Windows Sockets (мне необходимо чтобы приложение компилировалось как под Borland/Visual так и под gcc, т.е. не использовало никаких функций специфических для конкретных сред разработки, поэтому я могу использовать только WinAPI и стандартные библиотеки C/C++,- таково требование к создаваемому коду, но тестируется все на Visual C++).

Я написал следующий код (это просто тест, так что я засунул его в main, а так он будет в конструкторе класса инициализирующем соединение с сервером, но это не важно; так вот я написал следующий код):

#include <windows.h>
#include <winsock.h>
#include <stdio.h>

void main(void)
{
int rc;
WSADATA WSAData;

rc = WSAStartup(MAKEWORD(1, 1), &WSAData);

if(rc != 0)
puts("Не работает");
else
puts("Все OK");
}

При компиляции в Visual C++ мне выдается следующая ошибка:

test error LNK2019: unresolved external symbol _WSAStartup@8 referenced in function _main

В свою очередь Borland C++ мне не выдает ошибок вообще.

Как я понимаю Windows Sockets использует WS2_32.DLL и MSWSOCK.DLL и если Borland их находит автоматически то Visual C++ нет. Подскажите мне пожалуйста как я могу заставить Visual C++ компилировать данный код, может там надо что-то изменить в настройках моего Win32 Console Project?

Заранее спасибо за любой ответ.
487
25 июня 2004 года
ddnh_bc
301 / / 16.09.2003
Цитата:
Originally posted by rarelang
Помогите мне пожалуйста решить следующую проблему:

Я создал консольное приложение (Visual С++ - Win32 Console Project) и работаю с Windows Sockets (мне необходимо чтобы приложение компилировалось как под Borland/Visual так и под gcc, т.е. не использовало никаких функций специфических для конкретных сред разработки, поэтому я могу использовать только WinAPI и стандартные библиотеки C/C++,- таково требование к создаваемому коду, но тестируется все на Visual C++).

Я написал следующий код (это просто тест, так что я засунул его в main, а так он будет в конструкторе класса инициализирующем соединение с сервером, но это не важно; так вот я написал следующий код):

#include <windows.h>
#include <winsock.h>
#include <stdio.h>

void main(void)
{
int rc;
WSADATA WSAData;

rc = WSAStartup(MAKEWORD(1, 1), &WSAData);

if(rc != 0)
puts("Не работает");
else
puts("Все OK");
}

При компиляции в Visual C++ мне выдается следующая ошибка:

test error LNK2019: unresolved external symbol _WSAStartup@8 referenced in function _main

В свою очередь Borland C++ мне не выдает ошибок вообще.

Как я понимаю Windows Sockets использует WS2_32.DLL и MSWSOCK.DLL и если Borland их находит автоматически то Visual C++ нет. Подскажите мне пожалуйста как я могу заставить Visual C++ компилировать данный код, может там надо что-то изменить в настройках моего Win32 Console Project?

Заранее спасибо за любой ответ.



Открываешь пункт меню "Project/Settings", в появившемся окне открываешь закладку "Link" и в окне ввода "Object/library modules" дописываешь Ws2.lib. Все.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог