Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Ветеран


Сообщения: 1405
Благодарности: 135

Профиль | Отправить PM | Цитировать


Если компилить для windows, то:

в обоих файлах recvfile.c и sendfile.c :

1. найти ВСЕ строчки #ifdef WIN32 и удалить

2. удалить все, что находится между #else и #endif (включая #else, #endif ).
Все что между #ifdef WIN32 и #else оставить

3. определение переменной wsadata (а именно строчку WSADATA wsadata; ) перенести в начало функции main, то есть туда, где находятся определения переменных

4. в файле sendfile.c на линии 120 есть строчка if(S_ISDIR(xstat.st_mode)) {
Здесь я точно не знаю, но возможно аналогичное выражается таким образом if(xstat.st_mode== _S_IFDIR)

Компилится так:
1. при линковании указать обязательно(!) wsock32.lib
2. сначала компилятся вместе md5.c и recvfile.c - это приемщик файлов
3. Затем компилятся вместе md5.c и sendfile.c - это отправитель файлов

Командная строка для компиляции в MS Visual C++ 6.0 может быть такой:

первый exe:

cl recvfile.c md5.c /nologo /W3 /GX /O2 /D 'WIN32' /D 'NDEBUG' /D '_CONSOLE' /D '_MBCS' /YX /FD /c

link recvfile.obj md5.obj kernel32.lib user32.lib gdi32.lib wsock32.lib /nologo /subsystem:console /machine:I386

второй exe:

cl sendfile.c md5.c /nologo /W3 /GX /O2 /D 'WIN32' /D 'NDEBUG' /D '_CONSOLE' /D '_MBCS' /YX /FD /c

link sendfile.obj md5.obj kernel32.lib user32.lib gdi32.lib wsock32.lib /nologo /subsystem:console /machine:I386

Последний раз редактировалось mrcnn, 23-03-2005 в 21:34.


Отправлено: 21:07, 23-03-2005 | #4