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

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

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

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

26.11.2014, 18:06. Просмотров 2000. Ответов 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 10,5 ,при установки поставил везде галочки .Потом решил проверить работоспособность:Создал консольное приложение,выбрал...

Как настроить русский язык в codeblocks - C++
Программа выводит сообщения на русском, но при вводе вылезают казяблики, что можно предпринять? #include <iostream> #include <clocale> ...

OpenGL в CodeBlocks - C++
Мучаюсь с установкой OpenGL в CodeBlocks уже целый вечер. Все нервы вытрепал. Пожалуйста опишите здесь по полочкам как установить OpenGL...

С++ CodeBlocks Матрицы - C++
Здравствуйте. Помогите пожалуйста. В данной лабораторной работе, которая приложена. Программа считает для матриц размерност 2 , но для...

проблемы c codeBlocks 10.05 - C++
не могу прогнать программу, просит что-бы я build в какоую-то папку наверно. это что мне делать то?

Curl и codeblocks - C++
Опять вопрос про подключение библиотеки! На этот раз пытаюсь подключить curl в CodeBlocks. Беру отсюда...

Текст в CodeBlocks - C++
Здравствуйте. При компиляции программы в CodeBlocks выскакивают ошибки: В тексте программы ошибок нет. Подозреваю проблемы с...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DrOffset
26.11.2014, 21:14     Настроить Codeblocks
  #16

Не по теме:

Цитата Сообщение от maritux Посмотреть сообщение
Дело в том, что ТС уже дал необходимые пояснения
И? Это утилита для CodeBlocks, которая может генерировать makefile под несколько платформ и компиляторов, это не make, это генератор мейкфайлов. Может быть стоит ходить по ссылкам, прежде чем писать?

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
maritux
26.11.2014, 21:19
  #17

Не по теме:

Цитата Сообщение от DrOffset Посмотреть сообщение
Может быть стоит ходить по ссылкам, прежде чем писать?
Ладно, тогда ждем ТСа, молча!

Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
26.11.2014, 21:23  [ТС]     Настроить Codeblocks #18
Цитата Сообщение от DrOffset Посмотреть сообщение
Для начала, нужно узнать про какой именно make мы говорим. make (mingw32-make) из состава mingw вполне работоспособен.
Не знал что они отличаются. Читал про встроенный в винду.... буду знать!

Цитата Сообщение от maritux Посмотреть сообщение
У вас какой компилятор? Не MinGW?
Тот MinGW, что шел в комплекте с кодеблок.
Утилита поставляется с исходниками под кодеблок и бинарниками. С ключами натравливаю на cbp-файл и получаю мейкфайлы под любую ОС.

Внешне мейк-нормальный, но похоже у меня полная лажа с путями! Мейк должен запускаться из папки MinGW/bin/ но пути указанны относительно проекта: obj/debug... пишет что не видит такой файл!
Тоже было и когда раньше писал в консоли - приходилось прописывать полные пути к каталогам проекта. Если же запукал не из папки MinGW/bin/, то компилятор не видит dll, лежащих в папке компилятора. Работаю под вин. По инструкциям подобно быть не должно! Может знаете в чем лажа? Похоже решение этой проблемы исправит половину моих нестыковок!!!

Цитата Сообщение от DrOffset Посмотреть сообщение
Мне кажется этот аргумент надуман.
Нет никаких проблем уметь пользоваться и IDE и консолью. В CodeBlocks возможно настроить множество разнообразных сценариев сборки и инструментов. Прикрутить эту консольную систему сборки для Android в него не сложно.
Блин, вот реально, мне проблемы твои не понятны
Зачем включать и выключать IDE. Открыл 1 раз и работай. С другой стороны, зачем тебе IDE, раз ты говоришь, что привык к консоли? Напиши makefile и используй его из консоли. А еще лучше использовать какую-нибудь систему сборки, вроде cmake. Она, если надо, сможет тебе и makefile и проект для кодеблокса сделать.
Это дело привычки! Я НОВИЧОК! С++ для меня "не родной". Я работаю под ява-андроид (и еще на 4х языках). Нужны шустрые и защищенные "вставки" на НДК в андроид. Компилятор НДК - ОЧЕНЬ тормознутый (код под консолью собирается 3-5 сек, а под андроид больше 40 сек без учета инсталяции его в устройство и тесты)! Под андроид нельзя настроить частичную перекомпиляцию "только измененного" - больше 60% занимает сборка пакета-обвертки для запуска под андроид.
Одна из задач - модули защиты - код со встроенными под устройство/задачу параметрами (на порядок тяжелее изменить чем аналогичное под явой). По идее вообще будет компилится по веб-морде-заказу на автономном сервере.
В IDE планирую работать над сложным кодом(пока "в консоли" даже не мечтал о подобном), требующим подсказки, хелпы, гиперссылки. Чаще буду "подправлять" некоторые блоки в блокноте за 5 минут между работами в других языках (включая даже 1С).
maritux
26.11.2014, 21:44
  #19

Не по теме:

Цитата Сообщение от Tester64 Посмотреть сообщение
Я работаю под ява-андроид (и еще на 4х языках). Нужны шустрые и защищенные "вставки" на НДК в андроид.
Собираете очередной андроид-говнософт с рекламой и без кнопочки закрыть? Бросайте эти андроиды с их говно-магазинами. Больше ничего хорошего посоветовать не могу.

Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
26.11.2014, 22:00  [ТС]     Настроить Codeblocks #20
Цитата Сообщение от maritux Посмотреть сообщение
Собираете очередной андроид-говнософт с рекламой и без кнопочки закрыть? Бросайте эти андроиды с их говно-магазинами. Больше ничего хорошего посоветовать не могу.
Ну вот... вы даже не знаете что я делаю под андроид и уже оскорбили и среду, и продукты и методы разработки... Андроид - еще ОЧЕНЬ молодая ОС! За ней будующее! Уже около 70% всех смартов под ней! Мой профиль - УЧЕТНЫЕ программы! И мне явно не хватает функционала встренного в яву под андроид и уж точно не охота делать что-либо очень сложное опенсорсное, а защиты у ява исходников нет никакой! Хуже чем у продаваемых веб движках на РНР.

Вроде запустилось! И из мейка и из бата!
Бат файл можно заполнить из закладки BUILD LOG внизу Codeblocks после >BUILD>REBUILD
Mейк файл созданный по описанной мной схеме не включает в ключи компилятора "-std=c++11 -w", но они есть в ребилде. После вставки получил нормальный релиз/дебюг

Ошибку с путями исправил таким батом на мейк:
@set path=%path%;d:\CodeBlocks\MinGW\bin\
mingw32-make.exe -f makefile debug

После этого перестало вылетать с ошибкой "не найдена библиотека..." и DLL из папки d:\CodeBlocks\MinGW\bin\

Добавлено через 3 минуты
Цитата Сообщение от DrOffset Посмотреть сообщение
В любом случае списки каталогов и файлов в IDE проще всего получать из самой IDE с использованием ее собственных скриптов.
Если можете, обьясните что это? Я не понял...
DrOffset
7058 / 4199 / 949
Регистрация: 30.01.2014
Сообщений: 6,965
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
7058 / 4199 / 949
Регистрация: 30.01.2014
Сообщений: 6,965
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
7058 / 4199 / 949
Регистрация: 30.01.2014
Сообщений: 6,965
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
7058 / 4199 / 949
Регистрация: 30.01.2014
Сообщений: 6,965
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...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.11.2014, 00:44     Настроить Codeblocks
Еще ссылки по теме:

C++, CodeBlocks и ncurces - C++
Пытаюсь скомпилировать простенький пример с ncurces #include <iostream> #include <curses.h> int main(int argc, char **argv) {...

Не компилируется Codeblocks - C++
Всем Привет!!! Установил Codeblocks есть MinGW, вроде все синхронизировал, но при попытке компиляции не компилируется, а только выводит...

CodeBlocks::Microsoft VC++ - C++
Здрасти, до недавнего времени я работал в CodeBlocks, там главная функция имеет вид int main(){ ...... } потом скачал...

CodeBlocks графика - C++
Ребят, подскажите, хочу начать работать с графикой, но не пойму что делаю не так... Заголовочный файл graphics.h скачал, библиотеки...

CodeBlocks ошибка - C++
Всем салют! Недавно купил книгу с++ для чайников и у меня проблемы с самым первым заданием. Набрал я этот код: // // ...


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

Или воспользуйтесь поиском по форуму:
DrOffset
7058 / 4199 / 949
Регистрация: 30.01.2014
Сообщений: 6,965
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, стабильность работы и поддержка специфичного для андроид окружения.
Yandex
Объявления
27.11.2014, 00:44     Настроить Codeblocks
Ответ Создать тему
Опции темы

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