Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.05.2014, 18:51   #1
tocsik
Пользователь
 
Регистрация: 09.09.2009
Сообщений: 39
По умолчанию unresolved external symbol __imp

Вот код(он рабочий):
Код:
// consolClient.cpp: определяет точку входа для консольного приложения.
//
//etcp. h
#include "stdafx.h"
#include <stdio.h> 
#include <string.h> 
#include <winsock2.h> 
#include <windows.h> 
#define PORT 666 
#define SERVERADDR "127.0.0.1" 

int _tmain(int argc, _TCHAR* argv[])
{
	char buff[BUFSIZ];
	printf("TCP DEMO CLIENT\n");

	// Шаг 1 - инициализация библиотеки Winsock
	if (WSAStartup(0x202, (WSADATA *)&buff[0]))
	{
		printf("WSAStart error %d\n", WSAGetLastError());
		return -1;
	}

	// Шаг 2 - создание сокета
	SOCKET my_sock;
	my_sock = socket(AF_INET, SOCK_STREAM, 0);
	if (my_sock < 0)
	{
		printf("Socket() error %d\n", WSAGetLastError());
		return -1;
	}

	// Шаг 3 - установка соединения
	// заполнение структуры sockaddr_in - указание адреса и порта сервера
	sockaddr_in dest_addr;
	dest_addr.sin_family = AF_INET;
	dest_addr.sin_port = htons(PORT);
	HOSTENT *hst;

	// преобразование IP адреса из символьного в сетевой формат
	if (inet_addr(SERVERADDR) != INADDR_NONE)
		dest_addr.sin_addr.s_addr = inet_addr(SERVERADDR);
	else
	{
		// попытка получить IP адрес по доменному имени сервера
		if (hst = gethostbyname(SERVERADDR))
			// hst->h_addr_list содержит не массив адресов,
			// а массив указателей на адреса
			((unsigned long *)&dest_addr.sin_addr)[0] =
			((unsigned long **)hst->h_addr_list)[0][0];
		else
		{
			printf("Invalid address %s\n", SERVERADDR);
			closesocket(my_sock);
			WSACleanup();
			return -1;
		}
	}

	// адрес сервера получен - пытаемся установить соединение
	if (connect(my_sock, (sockaddr *)&dest_addr, sizeof(dest_addr)))
	{
		printf("Connect error %d\n", WSAGetLastError());
		return -1;
	}

	printf("Soedinenie s %s uspeshno ustanovlenno\n \
		   		   		               Type quit for quit\n\n", SERVERADDR);

	// Шаг 4 - чтение и передача сообщений
	int nsize;
	while ((nsize = recv(my_sock, &buff[0], sizeof(buff)-1, 0)) != SOCKET_ERROR)
	{
		// ставим завершающий ноль в конце строки
		buff[nsize] = 0;

		// выводим на экран
		printf("S=>C:%s", buff);

		// читаем пользовательский ввод с клавиатуры
		printf("S<=C:"); fgets(&buff[0], sizeof(buff)-1, stdin);

		// проверка на "quit"
		if (!strcmp(&buff[0], "quit\n"))
		{
			// Корректный выход
			printf("Exit...");
			closesocket(my_sock);
			WSACleanup();
			return 0;
		}

		// передаем строку клиента серверу
		send(my_sock, &buff[0], strlen(&buff[0]), 0);
	}
	printf("Recv error %d\n", WSAGetLastError());
	closesocket(my_sock);
	WSACleanup();
	return -1;

	//return 0;
}
Не компилируется в VS-2013.
Код:
Error	1	error LNK2019: unresolved external symbol __imp__closesocket@4 referenced in function _wmain	C:\Users\Jackson\Desktop\prog\clientserver\client\client\client.obj
Error	2	error LNK2019: unresolved external symbol __imp__connect@12 referenced in function _wmain	C:\Users\Jackson\Desktop\prog\clientserver\client\client\client.obj
Error	3	error LNK2019: unresolved external symbol __imp__htons@4 referenced in function _wmain	C:\Users\Jackson\Desktop\prog\clientserver\client\client\client.obj
Error	4	error LNK2019: unresolved external symbol __imp__inet_addr@4 referenced in function _wmain	C:\Users\Jackson\Desktop\prog\clientserver\client\client\client.obj
Error	5	error LNK2019: unresolved external symbol __imp__recv@16 referenced in function _wmain	C:\Users\Jackson\Desktop\prog\clientserver\client\client\client.obj
Error	6	error LNK2019: unresolved external symbol __imp__send@16 referenced in function _wmain	C:\Users\Jackson\Desktop\prog\clientserver\client\client\client.obj
Error	7	error LNK2019: unresolved external symbol __imp__socket@12 referenced in function _wmain	C:\Users\Jackson\Desktop\prog\clientserver\client\client\client.obj
Error	8	error LNK2019: unresolved external symbol __imp__gethostbyname@4 referenced in function _wmain	C:\Users\Jackson\Desktop\prog\clientserver\client\client\client.obj
Error	9	error LNK2019: unresolved external symbol __imp__WSAStartup@8 referenced in function _wmain	C:\Users\Jackson\Desktop\prog\clientserver\client\client\client.obj
Error	10	error LNK2019: unresolved external symbol __imp__WSACleanup@0 referenced in function _wmain	C:\Users\Jackson\Desktop\prog\clientserver\client\client\client.obj
Error	11	error LNK2019: unresolved external symbol __imp__WSAGetLastError@0 referenced in function _wmain	C:\Users\Jackson\Desktop\prog\clientserver\client\client\client.obj
Error	12	error LNK1120: 11 unresolved externals	C:\Users\Jackson\Desktop\prog\clientserver\client\Debug\client.exe
В чем может быть проблема? Спасибо.
tocsik вне форума Ответить с цитированием
Старый 28.05.2014, 18:57   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

библиотеку Ws2_32.lib не подключили.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 28.05.2014, 20:18   #3
tocsik
Пользователь
 
Регистрация: 09.09.2009
Сообщений: 39
По умолчанию

Большое спасибо.
А как подключить?
tocsik вне форума Ответить с цитированием
Старый 28.05.2014, 22:06   #4
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

http://g.zeos.in/?q=%D0%BF%D0%BE%D0%...%83%20winsock2
_Bers вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
unresolved external symbol; с++; qt creator; Theseus Общие вопросы C/C++ 2 03.09.2012 00:58
unresolved external symbol Эрин Общие вопросы C/C++ 3 22.03.2010 15:32
unresolved external symbol... LukS Общие вопросы C/C++ 2 16.04.2009 11:41
unresolved external symbol IgorKr Общие вопросы C/C++ 3 20.12.2008 15:01
unresolved external symbol Prestigio Общие вопросы C/C++ 2 28.07.2008 07:12