![]() |
переделать под windows
Всем привет! проблема такая, клиент-серверное приложение было изначально написано под unix. я решил переделать его под windows! приложение реализовано на winsock. соответственно поменял заголовочные файлы, переписал функции! из 15 ошибок, которые выдавал компилятор остались 1 предупреждение и одна ошибка следующего содержания:
1) warning C4996: 'strerror': This function or variable may be unsafe. Consider using strerror_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. 2) error C2664: 'recv' : cannot convert parameter 2 from 'char (*)[21]' to 'char *' Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast вот код программы (пишу в VS2008 на С++): Код:
#define _CRT_SECURE_NO_WARNINGS 1 |
1) warning C4996: 'strerror': This function or variable may be unsafe. Consider using strerror_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS.
Тебе предлагается использовать strerror_s вместо strerror. 2) error C2664: 'recv' : cannot convert parameter 2 from 'char (*)[21]' to 'char *' В параметрах recv, перед второй переменной напиши (CHAR *), чтобы привести твою переменную типа char[21] к типу, который требуется в функции. Ошибки выдаются для кода, который отсутствует в посте. Good Luck! |
Цитата:
Код:
if(recv(csock,&msg, sizeof(msg),0) >0 ) //пробуем читать данные от клиентаerror LNK2019: unresolved external symbol _WinMain@16 referenced in function ___tmainCRTStartup fatal error LNK1120: 1 unresolved externals warning C4996: 'strerror': This function or variable may be unsafe. Consider using strerror_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. warning C4996: 'strerror': This function or variable may be unsafe. Consider using strerror_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. |
http://forum.antichat.ru/showthread.php?p=674960#post674960
|
Откорректировал:
1. #pragma comment(lib, "WSock32.Lib") 2. if(recv(csock, msg, sizeof(msg),0) >0 ) Откомпилировал у себя в 2008 Express Edition - все ОК. Пробуй. |
strcat и тд меняй на lstrcat и тд если не хочешь рантайм использовать, также ignore all default libraries, "ENTRY:WinMain" и поскакали и поскакали)
|
вот так без црт но придется ручками дописывать
Код:
#include <winsock2.h>Код:
i+=2; // тут увеличиваем счетчик на 2 единицы |
Цитата:
LNK2019: unresolved external symbol _WinMain@16 referenced in function ___tmainCRTStartup LNK1120: 1 unresolved externals Еще вызывает подозрение вот эта строчка кода : extern errno; она в самом начале почти! я ее закоментил, если откоментировать вылазят совсем другие ошибки! Если ты добился того, что все компилиться без проблем, и если не трудно может посмотришь еще раз на код в посте, что-то наверняка я упускаю, но не пойму где? |
| Время: 19:18 |