Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.75
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
#1

Настроить Codeblocks - C++

26.11.2014, 18:06. Просмотров 1861. Ответов 30
Метки нет (Все метки)

Гуру, помогите новичку!
Раньше кодил под Win-консоль в блокноте и запускал компиляцию BAT-ником...
Тепреть пробую перейти на Codeblocks! И немного запутался...

1) Можно ли создать нечто вроде мейкфайла для консольной сборки проекта без кодеблокса? Для меня это очень важно!

2) Обязательно "вручную" добавлять новые файлы в проект? Или они могут туда добавляться автоматически при обнаружении в папке?
3) Можно ли добавлять свои ключи в компиляцию? Например включать ли dll или нет? (меняется размер ехе)
4) Как можно подключить либу в проект (хотя-бы в каком меню искать)? Например 3 метода работы с SQLite - в ехе, в длл динамически, в длл статически?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.11.2014, 18:06     Настроить Codeblocks
Посмотрите здесь:

Codeblocks! C++
codeblocks C++
Codeblocks C++
C++ codeblocks
C++ Помогите настроить CodeBlocks...
CodeBlocks ошибка C++
CodeBlocks C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DrOffset
6851 / 4062 / 927
Регистрация: 30.01.2014
Сообщений: 6,859
26.11.2014, 22:06     Настроить Codeblocks #21
Цитата Сообщение от Tester64 Посмотреть сообщение
Это дело привычки! Я НОВИЧОК! С++ для меня "не родной".
Этот аргумент я принимаю
Давай тогда в рамках твоих желаний рассуждать.

Цитата Сообщение от Tester64 Посмотреть сообщение
Внешне мейк-нормальный, но похоже у меня полная лажа с путями! Мейк должен запускаться из папки MinGW/bin/ но пути указанны относительно проекта: obj/debug... пишет что не видит такой файл!
Могу предложить прикрепить этот makefile сюда. Мы посмотрим что с ним не так.
В любом случае скажу, что запускать из папки mingw/bin - не нужно.

Цитата Сообщение от Tester64 Посмотреть сообщение
Компилятор НДК - ОЧЕНЬ тормознутый (код под консолью собирается 3-5 сек, а под андроид больше 40 сек без учета инсталяции его в устройство и тесты)!
Похоже это из-за того, что кросскомпилятор для windows запускается через эмулятор cygwin.
Цитата с оффсайта:
For Windows, Cygwin 1.7 or higher is required. The NDK will not work with Cygwin 1.5 installations.
Скажу одно, что именно там тормозит нужно проверять. Даже если сейчас тебе не под силу будет разобраться что и как там работает, но советую сделать это в будущем. Люди которые понимают как работает их инструментарий ценятся

Цитата Сообщение от Tester64 Посмотреть сообщение
В IDE планирую работать над сложным кодом(пока "в консоли" даже не мечтал о подобном), требующим подсказки, хелпы, гиперссылки. Чаще буду "подправлять" некоторые блоки в блокноте за 5 минут между работами в других языках (включая даже 1С).
В любом случае, даже если ты будешь делать бат-файл или что-то подобное, очень помогут скрипты CodeBlocks, читай ссылку на вики. Через них можно вытащить любую информацию о проекте, в том числе нужные тебе пути к файлам.
maritux
26.11.2014, 22:06
  #22

Не по теме:

Цитата Сообщение от Tester64 Посмотреть сообщение
Ну вот... вы даже не знаете что я делаю под андроид и уже оскорбили и среду, и продукты и методы разработки... Андроид - еще ОЧЕНЬ молодая ОС! За ней будующее! Уже около 70% всех смартов под ней! Мой профиль - УЧЕТНЫЕ программы! И мне явно не хватает функционала встренного в яву под андроид и уж точно не охота делать что-либо очень сложное опенсорсное, а защиты у ява исходников нет никакой! Хуже чем у продаваемых веб движках на РНР.
Нет, я сама пользуюсь андроидом и все приложения под андроид ИМХО говнософт. Не обижайтесь. Телефон должен звонить, а планшет выполнять функции мини-компьютера, т.е. работать на десктопной версии windows.

DrOffset
6851 / 4062 / 927
Регистрация: 30.01.2014
Сообщений: 6,859
26.11.2014, 22:09     Настроить Codeblocks #23
Цитата Сообщение от Tester64 Посмотреть сообщение
Ошибку с путями исправил таким батом на мейк:
@set path=%path%;d:\CodeBlocks\MinGW\bin\
mingw32-make.exe -f makefile debug
И это правильно. Ну или добавить путь к папке bin в PATH windows, тогда можно будет запускать из любой консоли. А еще лучше поставить себе MSYS и забыть про эти проблемы.
DrOffset
6851 / 4062 / 927
Регистрация: 30.01.2014
Сообщений: 6,859
26.11.2014, 22:21     Настроить Codeblocks #24
Tester64, могу тебе предложить упрощенный вариант. Вставляешь команду на генерацию makefile в поле на скрине 1. Отмечаешь галочку и прописываешь нужное имя makefile (см. скрин 2). Вначале makefile автоматически перегенерируется (туда включатся новые файлы, если они появились). А потом произойдет сборка проекта с использование этого makefile. Либо, ты можешь руками из консоли собрать тоже самое используя этот же makefile.
Миниатюры
Настроить Codeblocks   Настроить Codeblocks  
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
26.11.2014, 23:12  [ТС]     Настроить Codeblocks #25
Цитата Сообщение от DrOffset Посмотреть сообщение
Похоже это из-за того, что кросскомпилятор для windows запускается через эмулятор cygwin.
Вроде они уже отказались от cygwin! В чью пользу не знаю, но возможно даже свой комплитор сделали... Но фишка в другом! Компилятор делает лишь *.о файлы. Под целых 4 вида процессора под андроид. Потом их нужно упаковать в apk файл (в ява оболочке и в архиве). Потом отправиь на устройство. Потом ВКОМПИЛИТЬ в устройство. Потом запустить (что далеко не доли секунды). А уж потом тестить пользуясь ява интерфейсом для доступа к функциям зажатым в программу. Компиляция HelloWorld занимает целых 10-15 секунд. Но полный цикл до тестов - секунд 35-45... И тут ничем не поможешь! Единственное решение - писать МУЛЬТИПЛАТФОРМЕННЫЕ программы - оттестил си код в быстрой консоли в десктопных тестах, и отправил на компиляцию в устройство уже для конечных тестов...

Цитата Сообщение от DrOffset Посмотреть сообщение
И это правильно. Ну или добавить путь к папке bin в PATH windows, тогда можно будет запускать из любой консоли. А еще лучше поставить себе MSYS и забыть про эти проблемы.
Мне больше нравятся слова "из любой консоли"! Похоже, если соблюдать пути, ВЕСЬ инструментарий я смогу переносить между машинами просто копируя папку. Ничего инсталировать в ОС на чужой машине не понадобиться...

Не по теме:

Цитата Сообщение от maritux Посмотреть сообщение
Нет, я сама пользуюсь андроидом и все приложения под андроид ИМХО говнософт. Не обижайтесь. Телефон должен звонить, а планшет выполнять функции мини-компьютера, т.е. работать на десктопной версии windows.
Насмешили! Вы бы еще про ДОС вспомнили! Во первых (как мне говорили) на БРЕНДОВЫХ телефонах системный софт проходит не хилые тесты и не глючит если не ставить "студенческие программы" из маркета. Конечно мой "китаец" за 140$ сильно подглючивает(хотя по начинке равен был 400$ самсунгу). Во вторых один из моих проектов - корпоративная звонилка - графы связей абонентов, общая инфа о каждом, синхронизация номеров между сотрудниками, работа с записями разговоров, вычисление мобильного оператора звонящего, передача абонента сотруднику, автодозвон, звонок по симке зависящей от исходящего оператора, общие напоминания о звонках, СРМ и еще много чего... Андроид - это ЛИНУКС среди телефонов! Написать можно (увы, пока только почти) все что не хватало бы иметь "в кармане"!
В третьих, это всего 5я версия андроида! Сколько лет нокии? А сколько разрешений есть у айфона? А бывают ли у них случаи когда флешка не припаяна в целях экономии? у меня нет датчика компаса - 90% GPS навигаторов отказываются работать! Айфон теряет популярность. ВинФон ее и не набирал.
И с батареей андроид бережнее винды и совместимости между старой и новой виндой давно накрылась. И размеры у полноценного планшета с XP не помещаются в кармашек... И цена у андроида в несколько раз меньше и разнообразие датчиков далеко впереди (ШК, радиометки, магнитные карточки).
Повторюсь еще раз - ОЧЕНЬ МОЛОДАЯ ОС! Но рынок еще такой-же молодой! Есть шанс со своим продуктов "выстрелить" к тому времени когда андроид станет "приличным".
Конечно интерфейсы еще слабые, на 90% требуются дизайнеры а не кодеры, предпочитают делать исключительно онлайн "морды" к серверам без офлан просмотра. Даже если твоя программа идеальная (убраны все утечки памяти, минимальная нагрузка на ядро, оптимальная нагрузка на флешку, продуман интерфес) это не значит что она не будет глючить из-за загружености памяти чужими сервисами и чужими плюшками ("живые обои" и нотиф уведомления грузят проц даже если скрыты). Но я хочу написать СВОИ компоненты! И не хочу их писать на яве! Для этого мне и нужен С++... Даже приличного "виндового" скроллинга нет.
Есть надежда что нативный код будет работать на порядки надежнее в следующих версиях без использования явы.

А вот винда теряет позиции на всех фронтах - покеты сдохли, в офисы предпочитают линуксы, веб сервера предпочитают на винду не ставить... Далеко не лидер в "носимых устройствах". Медиацентр-ретранслятор к плазме я предпочту за 30-50$ размером с сигаретную пачку вместо жужащего компа с виндой. Я даже кассовый аппарат на андроиде видел! Может это Вам стоит задуматься?



Цитата Сообщение от DrOffset Посмотреть сообщение
Tester64, могу тебе предложить упрощенный вариант. Вставляешь команду на генерацию makefile в поле на скрине 1. Отмечаешь галочку и прописываешь нужное имя makefile (см. скрин 2). Вначале makefile автоматически перегенерируется (туда включатся новые файлы, если они появились). А потом произойдет сборка проекта с использование этого makefile. Либо, ты можешь руками из консоли собрать тоже самое используя этот же makefile.
Предпочту пожалуй уже остановиться на достигнутом!
1) проект успешно собирается в IDE
2) один батник пересоздает мейкфайл (если что-то изменил в списке файлов
3) мейкфайл успешно собирается из батника (и релиз и дебюг)
... с этим уже можно работать!
maritux
26.11.2014, 23:20
  #26

Не по теме:

Цитата Сообщение от Tester64 Посмотреть сообщение
Может это Вам стоит задуматься?
Вангую: андроид умрет от руки ubuntu touch в июне 2015 года.

MrGluck
26.11.2014, 23:23
  #27

Не по теме:

Цитата Сообщение от maritux Посмотреть сообщение
ubuntu touch в июне 2015 года.
За деньги, заявленные под мобилки с убунту тач - никогда

DrOffset
6851 / 4062 / 927
Регистрация: 30.01.2014
Сообщений: 6,859
26.11.2014, 23:39     Настроить Codeblocks #28
Цитата Сообщение от Tester64 Посмотреть сообщение
Вроде они уже отказались от cygwin! В чью пользу не знаю, но возможно даже свой комплитор сделали...
Не, все по-прежнему. Официальному сайту я верю.

PS. В любом случае молодец, что разобрался сам
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
26.11.2014, 23:58  [ТС]     Настроить Codeblocks #29

Не по теме:

Цитата Сообщение от maritux Посмотреть сообщение
Вангую: андроид умрет от руки ubuntu touch в июне 2015 года.
Возможно, но ИМХО портировать одно популярное приложение с одной платформы на другую (успев немножко заработать), более шуструю проще чем ждать когда появится следующая (возможно) более шустрая/удобная/безглючная/продуманная/безвирусная...
К тому-же линукс НЕ МОЖЕТ вытестить винду до сих пор на 100% даже в не игровом секторе! Не все легко портируется. Не все авторы ХОТЯТ портировать софт и без того "приносящий бабло" под бесплатные (и возможно плохо защищенные) ОС.
Линукс на самсунг можно поставить уже давно, но далеко не все предпочитаю его туда ставить... Как и новые нокия/винфон остался просто телефоном, т.к. под него мало авторов предпочитают кодить!



Цитата Сообщение от DrOffset Посмотреть сообщение
Не, все по-прежнему. Официальному сайту я верю.
Не уверен! Прежде чем сказать про "отказались" я вспомнил что раньше (в 7й-8й версии) требовали качать сигвин с оффсайта (и тяжело настраивать - неподьемно для новичка). В 9х его "встроили" в официальный пакет НДК. Я его прошерстил - куча ехе (чаще make*.exe), питонов и парсеров. Сигвин не упоминается. Логотип отсуствует. Нашел только g++ и gcc из знакомых. Хелп по ним не дал даже версию. И действительно слышал что кажется свою версию с++ планировали написать. Возможно на основе исходников сигвина или даже mingw...
DrOffset
6851 / 4062 / 927
Регистрация: 30.01.2014
Сообщений: 6,859
27.11.2014, 00:44     Настроить Codeblocks #30
Цитата Сообщение от Tester64 Посмотреть сообщение
Не уверен! Прежде чем сказать про "отказались" я вспомнил что раньше (в 7й-8й версии) требовали качать сигвин с оффсайта (и тяжело настраивать - неподьемно для новичка).
Посмотрел историю изменений для тулчейна, да, похоже, ты прав. В последних версиях NDK весь инструментарий - нативные win32 приложения. А на оф.сайте, получается, устаревшая информация.

Цитата Сообщение от Tester64 Посмотреть сообщение
Хелп по ним не дал даже версию.
Версия смотрится через <имя бинарника> -v. Инструментарий родом из *nix, следовательно справка (--help) обычно не показывает никаких версий. Для версии есть свой параметр.

Цитата Сообщение от Tester64 Посмотреть сообщение
И действительно слышал что кажется свою версию с++ планировали написать. Возможно на основе исходников сигвина или даже mingw...
Я не поленился и скачал последнюю версию, итого там используется 2 компилятора под несколько платформ: gcc в нескольких версиях (с 4.6 - 4.9) и clang (3.4 и 3.5). Чтобы убедиться в этом, можешь зайти в папку toolchain на своей машине. Т.е. да, они делают какие-то патчи, вносят определенные изменения и собирают версии кросскомпиляторов, но сами они их не разрабатывают (имеется в виду свои и с нуля). Правильные слова здесь - дорабатывают.
Большинство изменений вообще не связано с непосредственно С++, кстати. Большинство изменений (это видно по логам) связано с поддержкой целевых платформ: кодогенерация, оптимизация, ABI, стабильность работы и поддержка специфичного для андроид окружения.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.11.2014, 01:15     Настроить Codeblocks
Еще ссылки по теме:

Code::Bloks C++, В чем разница "codeblocks-12.11-setup.exe" и "codeblocks-12.11mingw-setup.exe" C++
С++ CodeBlocks C++
C++ CodeBlocks 13.12 vs 10.05
C++ Как настроить русский язык в codeblocks
CodeBlocks C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
27.11.2014, 01:15  [ТС]     Настроить Codeblocks #31
Цитата Сообщение от DrOffset Посмотреть сообщение
Большинство изменений вообще не связано с непосредственно С++, кстати. Большинство изменений (это видно по логам) связано с поддержкой целевых платформ: кодогенерация, оптимизация, ABI, стабильность работы и поддержка специфичного для андроид окружения.
Спасибо! Не знал!
Yandex
Объявления
27.11.2014, 01:15     Настроить Codeblocks
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru