| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Ошибка при Linking. |
| Автор: KPEHDEL 24.4.2012, 18:53 | ||
| Здравствуйте форумчани. Требуется помощь. Компилирую проект, как только дело дходит до Linking появляется следующая ошибка:
Подскажите пожалуйста в чём дело. С нетерпением жду вашего ответа. |
| Автор: Randajad 24.4.2012, 18:56 |
| ЧСХ, функции WinMain нет. Компилятору студийному она нужна всегда, когда приложение не консольное. |
| Автор: KPEHDEL 24.4.2012, 19:20 |
| /*Случайно стёр текст*/ |
| Автор: Randajad 24.4.2012, 19:28 |
| Компиляй GCC и будет щастье. Или в раздел для новичков следует обратиться дабы узнать в чем различие WinMain и main и как их нужно применять. |
| Автор: KPEHDEL 24.4.2012, 19:48 |
| В раздел для новичков обязательно схожу, но не дублировать ведь там тему, правильно? К сожалению мне надо именно на vs. Предположим я знаю, что функция WinMain вызывается системой как начальная точка входа, для базирующейся на Windows, прикладной программы. Только вот совершенно не понятно где её требуется объявить в исходных кодах armagetron_src_0.1.4.9. Добавлено через 4 минуты и 35 секунд Залил исходники(с прикреплёнными файлами) на всякий, может кто решится посмотреть... http://www.fayloobmennik.net/1827668 |
| Автор: Randajad 24.4.2012, 22:37 |
| Аннет, код ужасен и на GCC без правок не соберется. Это исходники официальные? Что-то беглым осмотром не нашел ни winmain, ни main. Завтра еще посмотрю. И почему только VC необходимо, если не секрет? |
| Автор: KPEHDEL 25.4.2012, 10:25 | ||
| Во первых, спасибо, что ответил и посмотрел. Исходники офицальные(правда качал не с офф сайта там http://beta.armagetronad.net/?product=client&branch=Any&hideold=0&hideold=1&os=Windows&arch=&bitness=&format=#download все ссылки битые. Но если в гугле вбить например armagetron_src_0.1.4.9.tar.gz то найти можно легко) почти самая старая версия(она мне и нужна). VC не обходима так как сижу под виндой. Ну, а так как в исходниках был проект под VS 6.0 то я и подумал, что под VS было бы удобнее всего. Хотя если удастся скомпилировать под Bloodshed Dev-C++ или под Code::Blocks виндовую тоже пойдёт. Сейчас ещё скачаю исходники http://sourceforge.net/projects/armagetronad/files/stable/0.2.8.3.2/armagetronad-0.2.8.3.2.src.zip/download их попробую скомпилить в Code::Blocks, в документации сказано, что последнии версии ей компилят. О результатах отпишусь. Хотя конечно предпочтительнее была бы старая версия.
Буду благодарен если посмотришь. |
| Автор: Randajad 25.4.2012, 12:15 |
| А GCC под виндой типа не бывает? |
| Автор: KPEHDEL 25.4.2012, 13:57 |
| Эм, ну GCC для Windows это по сути Dev-C++ которую я упомянул выше. |
| Автор: borisbn 25.4.2012, 14:11 |
да ладно... а мужики-то не знали... KPEHDEL, Dev-C++ и Code::Blocks - редакторы текста с элементами IDE, а gcc под windows - это либо сам gcc, запущенный под antiWINEcygwin или специально собранный под windows компилятор gcc (вернее набор компиляторов и виндовых библиотек) - aka MinGW По сути: этот твой armagetron случаем не библиотека ? Если так, то там и не должно быть ни main, ни WinMain. Такая ф-ция должна быть в твоей программе, которая эту библиотеку использует |
| Автор: KPEHDEL 25.4.2012, 14:13 | ||
Спасибо, что объяснил. Велика ли разница собрать в Code::Blocks или MinGW?
Нет, это не библиотека. |
| Автор: EnergoHokum 25.4.2012, 14:32 |
| http://rsdn.ru/article/cpp/crt.xml. |
| Автор: Randajad 25.4.2012, 15:01 | ||
| Два часа усилий окупились! Пытался сначала собрать то, что выложил афтар, оно потребовало кучу всяких libpng, sdl, sdl_mixer и over9000 других библиотек. Вроде, собрал, но линковаться это чудо не захотело. Потом я начал гуглить. И нашел:
Вообщем, еще чуть правля их исходники мне удалось собрать это до вроде как работоспособного состояния. Собирается теперь и под gcc 4.8 тоже. http://acomirei.ru/armagetron.7z В папке armagetronad\build\dist готовая экзешка. Для сборки достаточно: 1) Open ..\armagetronad\win32\code_blocks\ArmagetronAd.workspace in Code::Blocks 2) Build "Armagetron Advanced" |
| Автор: borisbn 25.4.2012, 15:09 |
Первое - редактор (с элементам IDE). Второе - компилятор. Набери эти два слова в вики и посмотри, велика ли разница. Code::Blocks, если я не ошибаюсь, может компилировать как M$-овским компилятором, так и MinGW (вполне возможно, что и ещё пару-тройкой). А вот MSVS компилировать при помощи MinGW - нет. KPEHDEL, кстати, если тебе не хватает репутации, чтобы плюсануть Randajad за проделанную работу, просто скажи. |
| Автор: KPEHDEL 25.4.2012, 15:22 | ||||
| EnergoHokum, спасибо прочту обязательно. Randajad, тебе отдельное огромное спасибо, за проделанную работу.
Да. "У Вас недостаточно постов, чтобы изменять репутацию пользователей. Необходимо 100 постов." А плюсануть очень хочется!
Собственно ты и ответил на мой вопрос. |
| Автор: Randajad 25.4.2012, 15:40 |
| Кодблокс имеет поддержку компиляторов эдак 10-ти точно. Годный редактор, его и юзаем. Афтар, если есть асечка и вопросы - 418 107 306 стукать. |
| Автор: borisbn 25.4.2012, 16:29 |
Done |
| Автор: KPEHDEL 25.4.2012, 16:33 | ||||
codeblocks-10.05mingw Открываю ..\armagetronad\win32\code_blocks\ArmagetronAd.workspace 1) Open ..\armagetronad\win32\code_blocks\ArmagetronAd.workspace in Code::Blocks 2) Build "Armagetron Advanced" Но не тут-то было. Выдаёт такие ошибки:
Не понятно, что с этим делать( Ща буду гуглить. |
| Автор: borisbn 25.4.2012, 17:00 |
| с таким ником это мы все у тебя должны спрашивать |
| Автор: KPEHDEL 25.4.2012, 18:01 | ||
Проблему Randajad помог решить. Надо было расскоментить в defs.h и раскомменть там isblank.
Для меня, как человека выросшем на великом "гозонокосильщике" этот ник выражает, не то кто я сейчас, а кем я должен стать. Я студент, знаний в C/C++ ещё мало. Но буду стараться исправить это. |