![]() |
|
Модераторы: feodorv |
![]()
|
|
| BBulat |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 81 Регистрация: 5.12.2006 Репутация: нет Всего: нет |
TCP-клиент на winsock2 в виде консольного приложения у меня есть и норамльно работает с сервером. Мне необходимо реализовать этот клиент в виде dll приложения. Когда я компилирую dll, компилятор ругается на функции сокета ('WSAStartup' : undeclared identifier и т.п.), хотя хедер winsock2.h я подключил:
Если поместить подключение winsock2.h внутрь dll-функции, то вылазит след-я ошибка: ...\winsock2.h(70) : error C2598: linkage specification must be at global scope. Ну это я так, на всякий случай сделал) Как правильно реализовать TCP-клиента в виде dll? Заранее благодарен! |
|||
|
||||
| BBulat |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 81 Регистрация: 5.12.2006 Репутация: нет Всего: нет |
Извиняюсь за то, что вновь поднимаю тему, но проблемы я не решил. TCP - клиент вообще может работать как dll-приложение?
|
|||
|
||||
| SVN74 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 740 Регистрация: 5.5.2008 Где: Комсомольск на Дн епре Репутация: 1 Всего: 18 |
||||
|
||||
| REZiaMIX |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 346 Регистрация: 3.11.2007 Репутация: нет Всего: 4 |
Может поможет -------------------- ![]() |
|||
|
||||
| BBulat |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 81 Регистрация: 5.12.2006 Репутация: нет Всего: нет |
||||
|
||||
| Олег2005 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 421 Регистрация: 26.5.2005 Где: Рига Латвия Репутация: 6 Всего: 11 |
Как это понять - dll-приложение? Вы можете засунуть в dll функцию, исполняющую роль клиента и экспортировать ее Compiler Error C2598 linkage specification must be at global scope The linkage specifier was declared at local scope. The following is an example of this error: void func() { extern "C" int func2(); // error, linkage declared in . // block at local scope . . } extern "C" int func( int i ); // OK |
|||
|
||||
| BBulat |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 81 Регистрация: 5.12.2006 Репутация: нет Всего: нет |
я это и пытаюсь сделать, но при компилятор ругается на функции сокета, хотя я подклюил инклуд и библиотеку: #pragma comment(lib,"ws2_32.lib") #include <WINSOCK2.H> |
|||
|
||||
| connector |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 22.6.2008 Репутация: нет Всего: нет |
Если вместе с winsock2.h была подключена какая-нибудь виндовая библиотека вида win*.h (к примеру windows.h или wininet.h), то придётся отключить эти win*.h.. странно, но тогда эти ошибки(ругается на ф-ции winsock2) исчезают.
Это сообщение отредактировал(а) connector - 24.2.2009, 13:01 |
|||
|
||||
| Олег2005 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 421 Регистрация: 26.5.2005 Где: Рига Латвия Репутация: 6 Всего: 11 |
winsock2.h содержит windows.h - и потому последнюю не надо подключать Добавлено через 1 минуту и 50 секунд Почему большие буковки? |
|||
|
||||
![]()
|
| 1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Сети | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |