![]() |
*Решено* | Помогите скомпилить пример на С
Вложений: 1
Начал изучать язык C , решил учить не с книг , а с исходников . получается неплохо , вот только скачал исходники , изучил , а скомпилить не могу . причем под линуксом одна ошибка , под виндой другая , устал уже компилятор мучить %( .
выкладываю сам исходник , а не то что показывет компилятор т.к. как я сказал , я могу ошибаться в том что исходник неправильный, а не я напортачил . Он демонстрирует передачу файлов между компьютерами с шифрацией md5 . ошибка по моему в самой шифрации , т.к. если убрать ее , то компилится %) Если у кого получится закомпилить , то буду благодарен если дадите рекомендацию как "вправить" исходник . |
Попробуй поменять свои исходники на книги. Получится еще лучше.
|
да , я решил почитать книги по С, все же это классика. И насчет этой програмки может кто помочь ? не хотелось бы так это оставлять
|
Если компилить для 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 |
Время: 21:11. |
Время: 21:11.
© OSzone.net 2001-