187 / 119 / 4
Регистрация: 23.01.2010
Сообщений: 1,320
1

Вылетает ошибка при попытке вызова socket

04.08.2012, 19:53. Показов 1009. Ответов 4
Метки нет (Все метки)

что делать вылетает ошибка

1>------ Построение начато: проект: КЛИЕНТ, Конфигурация: Debug Win32 ------
1>Построение начато 04.08.2012 19:57:49.
1>InitializeBuildStatus:
1> Обращение к "Debug\КЛИЕНТ.unsuccessfulbuild".
1>ClCompile:
1> Для всех выходных данных обновления не требуется.
1>ГЛАВНАЯ.obj : error LNK2019: ссылка на неразрешенный внешний символ _socket@12 в функции "void __cdecl CLIENT_CONNECT(void)" (?CLIENT_CONNECT@@YAXXZ)
1>C:\Documents and Settings\Администратор\Рабочий стол\КЛИЕНТ\Debug\КЛИЕНТ.exe : fatal error LNK1120: 1 неразрешенных внешних элементов
1>
1>СБОЙ построения.
1>
1>Затраченное время: 00:00:00.92
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
////////////////////////////////////////////////////////////////////////////////
// about, ver 1.0, api
////////////////////////////////////////////////////////////////////////////////
#include <Windows.h>
#include <WinSock.h>
 
 
#define BUTTON_WIDTH 70
#define BUTTON_HIGTH 22
 
 
 
TCHAR czClassName[] = L"Клиент";
HWND hwnd;
HINSTANCE hInstA;
 
//ФУНКЦИЯ ВЫЗЫВАЕТЬСЯ ПРИ НАЖАТИИ НА КНОПКУ СОЕДЕНЕНПИЕ
void CLIENT_CONNECT()
{
     BOOL hSoc = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
    /*if (dword != -1)
    {
        MessageBox(hwnd, L"Ошибка", L"Ошибка -1", MB_OK);
        return;
    }*/
 
 
 
 
}
 
 
LRESULT CALLBACK WndProc(HWND hwnd, UINT msg,WPARAM wParam, LPARAM lParam)
{
    switch(msg)
    {
    case WM_DESTROY: PostQuitMessage(0); break;
    case WM_CREATE: 
        CreateWindow(L"button", L"СОЕДЕНЕНИЕ....", WS_CHILD | WS_VISIBLE,
            50, 68, BUTTON_WIDTH+150, BUTTON_HIGTH, hwnd, (HMENU)300, hInstA, NULL);        
        break;
    case WM_COMMAND: 
        if (LOWORD(wParam) == 300)
        {
            CLIENT_CONNECT();
        }
        break;
 
    default : return DefWindowProc( hwnd,  msg, wParam,  lParam); break;
    }
    return 0;
}
 
 
int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hInstance, LPSTR cmdLine, int cmdMode)
{
    MSG msg;
    hInstA = hInst;
 
    WNDCLASS wc;
 
    wc.cbClsExtra = 0;
    wc.cbWndExtra = 0;
    wc.hbrBackground = (HBRUSH)(1);
    wc.hCursor = LoadCursor(NULL, IDC_ARROW);
    wc.hIcon = LoadIcon(NULL, IDI_APPLICATION);
    wc.hInstance = hInst;
    wc.lpfnWndProc = WndProc;
    wc.lpszClassName = czClassName;
    wc.lpszMenuName = NULL;
    wc.style = CS_VREDRAW | CS_HREDRAW;
    RegisterClass(&wc);
 
    hwnd = CreateWindow(czClassName, L"О Программе", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, 
        CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, NULL, NULL, hInst, NULL);
 
    ShowWindow(hwnd, cmdMode);
    UpdateWindow(hwnd);
    while(GetMessage(&msg, NULL, 0, 0))
    {   
        TranslateMessage(&msg);
        DispatchMessage(&msg);
    }
    return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.08.2012, 19:53
Ответы с готовыми решениями:

Visual Basic вылетает с ошибкой при попытке вызова функции из DLL
Declare Function testdll Lib &quot;cfg.dll&quot; () As String Private Sub Form_Load() Me.Caption =...

Ошибка при попытке создания socket
Здравствуйте! При запуске программы возникает ошибка &quot;Permission denied: connect&quot; в строке создания...

При попытке поставить жесткий диск, вылетает ошибка
Привет всем, подскажите плз. Поставил второй жесткий диск в комп и при включении вылетает ошибка.

при попытке запуска ЛЮБОГО приложения вылетает ошибка
Винда 7. Скачал руссификотор для игрушки. Скачался он в exe формате. После запуска ноут ушел на...

4
14 / 14 / 2
Регистрация: 18.07.2012
Сообщений: 79
04.08.2012, 20:15 2
Возможно линкреу просто не хватает библиотеки ws2_32.lib. Попробуйте подключить ее к проекту, например, добавив в начале заголовочного фала:
C++
1
#pragma comment(lib, "ws2_32.lib")
Ну и кроме этого, чтобы сокеты завелись необходимо инициализировать winsock:
C++
1
2
WSADATA wsaData;
WSAStartup(MAKEWORD(2, 2), &wsaData);
А уже потом городить огород. Более подробно пожалуй можно глянуть тут ...
0
187 / 119 / 4
Регистрация: 23.01.2010
Сообщений: 1,320
05.08.2012, 23:55  [ТС] 3
Цитата Сообщение от calculon Посмотреть сообщение
Возможно линкреу просто не хватает библиотеки ws2_32.lib. Попробуйте подключить ее к проекту, например, добавив в начале заголовочного фала:
C++
1
#pragma comment(lib, "ws2_32.lib")
Ну и кроме этого, чтобы сокеты завелись необходимо инициализировать winsock:
C++
1
2
WSADATA wsaData;
WSAStartup(MAKEWORD(2, 2), &wsaData);
А уже потом городить огород. Более подробно пожалуй можно глянуть тут ...
спасиб разобрался с этим вопросом но всеравно пытаюсь переслать файл и фигня какая то, вообщем сервак отказываеться принимать повторно вызваную функцию send клиентом
0
4398 / 2339 / 849
Регистрация: 29.11.2010
Сообщений: 5,177
06.08.2012, 00:00 4
Похоже линковать с либой. "ws2_32.lib", как подсказывает легкий гуглинг.

Добавлено через 42 секунды
Цитата Сообщение от n971030 Посмотреть сообщение
спасиб разобрался с этим вопросом но всеравно пытаюсь переслать файл и фигня какая то, вообщем сервак отказываеться принимать повторно вызваную функцию send клиентом
Пишите многопоточный сервер.

Не по теме:

Я это сегодня уже где-то писал. Дежавю.

0
14 / 14 / 2
Регистрация: 18.07.2012
Сообщений: 79
06.08.2012, 05:11 5
Цитата Сообщение от n971030 Посмотреть сообщение
спасиб разобрался с этим вопросом но всеравно пытаюсь переслать файл и фигня какая то, вообщем сервак отказываеться принимать повторно вызваную функцию send клиентом
Код в студию...так трудно определить проблему...
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.08.2012, 05:11
Помогаю со студенческими работами здесь

При попытке создать recordset вылетает ошибка RDS Handler'а
При попытке создать recordset вылетает ошибка RDS Handler'а. Кто-нибудь с этим сталкивался?

При попытке выполнить скрипт 3 в AVZ вылетает ошибка explorer.exe
Доброго времени суток! При попытке выполнить скрипт 3 в AVZ вылетает ошибка explorer.exe Память не...

При попытке открыть DBF файл через OpenFileDialog вылетает ошибка
при попытке открыть DBF файл через OpenFileDialog вылетает ошибка private void...

Вылетает ошибка при попытке добавления следующей строки в заполняемую таблицу
пытаюсь скопировать из 1 таблицы значение по щелчку в другую, копирует 1 строку, но почему то...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru