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

Как в DEV C++ добавить опцию компилятора *cpp? - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.73
kravam
быдлокодер
 Аватар для kravam
1512 / 872 / 44
Регистрация: 04.06.2008
Сообщений: 5,271
21.04.2011, 10:45     Как в DEV C++ добавить опцию компилятора *cpp? #1
Друзья! У меня в папке несколько файлов с расширением cpp и они все должны быть включены в компиляцию. Так, а по умолчанию компилятор компилит только ОДИН файл, а остальные должны быть подключены к нему явно
C++
1
#include "drugoi_fail.cpp"
Это плохо. Теперь, если компилить все эти файлы из командной строки:

C++
1
g++ *.cpp
То всё вроде бы ОК, опция *.cpp говорит, что надо компилить все файлы *.cpp
Но если добавить эту опцию к опциям копилитора СТАНДАРТНЫМ ПУТЁМ, то есть прописать её в соответтвующем окошке, то получается, что главный файл включается ДВАЖДЫ, то есть
C++
1
g++ main.coo *.cpp
это всё равно что

C++
1
g++ main.coo main.cp <другой_файл_.cpp>
Ага и получается две функции main.cpp, линковщик ругается на это.
Что делать, друзья? По идее надо смотреть где находятся опции которые по умолчанию и изменять их, а не добавлять. Но я не могу их найти. Всё уж перерыл. Извините, если что не так. Ваш kravam
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Evg
Эксперт С++Автор FAQ
 Аватар для Evg
16825 / 5246 / 321
Регистрация: 30.03.2009
Сообщений: 14,127
Записей в блоге: 26
21.04.2011, 12:50     Как в DEV C++ добавить опцию компилятора *cpp? #2
А разве в DEV-C++ нету стандартной возможности создавать проект из нескольких файлов? Тогда IDE автоматически настроит все строки запуска так как надо
kravam
быдлокодер
 Аватар для kravam
1512 / 872 / 44
Регистрация: 04.06.2008
Сообщений: 5,271
21.04.2011, 13:13  [ТС]     Как в DEV C++ добавить опцию компилятора *cpp? #3
Есть, но это заморочки. Это нужно не просто так, а тыкать на "создать проект", да не абы какой, а "консольное приложение", ну и прочее всё в таком же духе. Мне бы хоть какой конфигурационный файл с командной строкой увидеть, я бы вручную поменял его и всё.

А щас не знаю, что делать, склоняюсь к тому, что кропать экзешник, который переделывал бы СВОЮ командную строку и заменять им стандартный компилятор g++. IDE вызовет g++, но он будет уже подменён! И вместо вызова g++ будет вызван мой экзешник, который поправит командную строку, а потом вызовет g++ и передаст ему ИСПРАВЛЕННУЮ командную строку.

Как-то так. Щас штутдирую опции g++ и удивляюсь, как там нет опции "включить все *.cpp файлы"
Evg
Эксперт С++Автор FAQ
 Аватар для Evg
16825 / 5246 / 321
Регистрация: 30.03.2009
Сообщений: 14,127
Записей в блоге: 26
21.04.2011, 13:35     Как в DEV C++ добавить опцию компилятора *cpp? #4
Я просто DEV C++ не видел, но ты по-моему каким-то мозахизмом занимаешься. Если ты пользуешься IDE, то играй по её правилам. Если хочешь делать по своему - компиляй без IDE а пиши свои Makefile'ы или скрипты компиляции

Цитата Сообщение от kravam Посмотреть сообщение
Как-то так. Щас штутдирую опции g++ и удивляюсь, как там нет опции "включить все *.cpp файлы"
Опять-таки не совсем понятно, что ты под этим подразумеваешь. Если ты внимательно прочтёшь документацию, то там так же нет опции "вскопать огород". Потому что твоё желание от этого отличается не сильно. В компилятор ты должен подать файлы, какие хочешь скомпилять. Понятия "все файлы" нету в принципе ни у одной программы, потому что "все файлы" должен передавать пользователь

Добавлено через 4 минуты
Кажется понял, в чём втоя непонятнка. В винде конструкцию "*.cpp" должна обрабатывать программа. В юниксе - это конструкция shell'а. Т.е. при запуске "g++ *.cpp" сам shell запустит строку "g++ t1.cpp t2.cpp t3.cpp". gcc он изначально юниксовый, а потому в его исходниках в приницпе нет обрабатывания каких-бы тони было регулярных выражений из командной строки
kravam
быдлокодер
 Аватар для kravam
1512 / 872 / 44
Регистрация: 04.06.2008
Сообщений: 5,271
21.04.2011, 13:47  [ТС]     Как в DEV C++ добавить опцию компилятора *cpp? #5
Ну ладно хоть поняли. Я бы и компилил сам, но дело в том, что я не знаю g++, мне очень трудно в нём разобраться. Я это всё возлагал на IDE и она меня всем устраивала и устраивает, кроме вот этой детали. Не хочу отказываться от удобства нажимать кнопку F9.
Evg
Эксперт С++Автор FAQ
 Аватар для Evg
16825 / 5246 / 321
Регистрация: 30.03.2009
Сообщений: 14,127
Записей в блоге: 26
21.04.2011, 14:42     Как в DEV C++ добавить опцию компилятора *cpp? #6
Цитата Сообщение от kravam Посмотреть сообщение
Не хочу отказываться от удобства нажимать кнопку F9
Тогда делай так, как того требует IDE. Чем меньше будешь извращаться, тем меньше будет проблем.

Если ручками компилять, то:

Код
$ g++ t1.cpp -c -o t1.o
$ g++ t2.cpp -c -o t2.o
$ g++ t3.cpp -c -o t3.o
$ g++ t1.o t2.o t3.o -o a.exe
Если нужны оптимизации, то дополнительно подавай опции -O1, -O2 или -O3 (чем выше уровень, тем теортеически код лучше, но время компиляции дольше). По опции -Wall выдаётся основная масса полезных предупреждений. По опции -Wextra - ещё куча предупреждений. По опции -Werror предупреждения будут трактоваться как ошибки. Для начала вроде бы этого достаточно

Если нужно Makefile написать - почитай тут http://www.cyberforum.ru/cpp-linux/thread46096.html
kravam
быдлокодер
 Аватар для kravam
1512 / 872 / 44
Регистрация: 04.06.2008
Сообщений: 5,271
21.04.2011, 16:39  [ТС]     Как в DEV C++ добавить опцию компилятора *cpp? #7
Чё-то я подумал-подумал и отказался дублировать функционал IDE; тем более тут есть одна тонкость- написать-то прогу такую не так и сложно, но тут есть одно но. Можно сделать так, что она будет работать СО ВСЕМИ файлами *.cpp, находящимися в папке. Но в том-то и дело, что я ошибок не оберусь потому, что в процессе работы у меня в папке много левых файлов *.cpp, не относящихся к компилируемому никоим боком, черновые так называемые файлы.

Можно извратиться и указывать компилируемые файлы явно. Так это то и выйдет, что мне предлагает IDE.
Evg
Эксперт С++Автор FAQ
 Аватар для Evg
16825 / 5246 / 321
Регистрация: 30.03.2009
Сообщений: 14,127
Записей в блоге: 26
21.04.2011, 17:16     Как в DEV C++ добавить опцию компилятора *cpp? #8
Цитата Сообщение от kravam Посмотреть сообщение
Можно извратиться и указывать компилируемые файлы явно
Наоборот. Это и есть нормальный режим работы. А указывать *.cpp - извращение. Случай, когда краткость НЕ есть сестра таланта
kravam
быдлокодер
 Аватар для kravam
1512 / 872 / 44
Регистрация: 04.06.2008
Сообщений: 5,271
21.04.2011, 17:30  [ТС]     Как в DEV C++ добавить опцию компилятора *cpp? #9
Что и я имею ввиду:
Щас IDE пердлагает: включить тот-то файл в проект или нет, потом тот-то файл, тот-то, тот-то и тот-то (не прописывать в инклудах, а в настройках галки ставить)

Удобно? Более или менее. Скропать прогу с подобным интрерфейсом я смогу, но зачем, если такой интерфейс предлагает DEV? Вот собсно сизифов труд и будет. Извращение и есть.

Что касаемо *.cpp, то использование его просто напросто непродуктивно в данном случае. Вообще же регулярные выражения благо, значение которого трудно переоценить, постоянно ищу строки в инклудах так:
C++
1
FIND "NULL" *.h > <имя файла>.txt
Evg
Эксперт С++Автор FAQ
 Аватар для Evg
16825 / 5246 / 321
Регистрация: 30.03.2009
Сообщений: 14,127
Записей в блоге: 26
21.04.2011, 18:07     Как в DEV C++ добавить опцию компилятора *cpp? #10
Цитата Сообщение от kravam Посмотреть сообщение
Удобно? Более или менее. Скропать прогу с подобным интрерфейсом я смогу, но зачем, если такой интерфейс предлагает DEV? Вот собсно сизифов труд и будет. Извращение и есть.
В DEV C++ я не работал (и даже не видел, как оно выглядит). Но я видел, как это сделано в Borland'е и MSVS. Нужно добавить файл - взял и добавил без геморроя. Не надо никуда никаких галок ставить. Либо ты что-то делаешь не так, либо в DEV C++ сие криво реализовано (в последнее верится с трудом, даже несмотря на то, что это открытая бесплатная среда)
kravam
быдлокодер
 Аватар для kravam
1512 / 872 / 44
Регистрация: 04.06.2008
Сообщений: 5,271
21.04.2011, 18:18  [ТС]     Как в DEV C++ добавить опцию компилятора *cpp? #11
Цитата Сообщение от Evg Посмотреть сообщение
Нужно добавить файл - взял и добавил без геморроя
Завидую я им. Только подумал- и файл добавился...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.04.2011, 18:23     Как в DEV C++ добавить опцию компилятора *cpp?
Еще ссылки по теме:

C++ gotoxy в dev cpp
C++ Библиотека (.h + .cpp) в папку include компилятора
C++ Sdl 2.0 Dev-cpp

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

Или воспользуйтесь поиском по форуму:
Evg
Эксперт С++Автор FAQ
 Аватар для Evg
16825 / 5246 / 321
Регистрация: 30.03.2009
Сообщений: 14,127
Записей в блоге: 26
21.04.2011, 18:23     Как в DEV C++ добавить опцию компилятора *cpp? #12
"без гемора" и "подумал и добавился" - как бы разные вещи. Хотя уже пошёл какой-то флуд, так что я откланиваюсь
Yandex
Объявления
21.04.2011, 18:23     Как в DEV C++ добавить опцию компилятора *cpp?
Ответ Создать тему
Опции темы

Текущее время: 13:47. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru