Разработка C ++ под Linux - с чего мне начать? - PullRequest
31 голосов
/ 08 марта 2009

Я решил оставить свою установку Windows позади и теперь использую Debian в качестве моей операционной системы по умолчанию. Я всегда кодировал в Windows и, в частности, в Visual Studio. В настоящее время я пытаюсь привыкнуть к компиляции своего кода под Linux.

Хотя у меня еще есть много документации для чтения, и я не ожидаю, что вы, ребята, сделаете это слишком легко для меня, было бы неплохо получить некоторые подсказки о том, с чего начать. У меня есть некоторые конкретные вопросы, но не стесняйтесь предлагать / рекомендовать что-либо еще относительно предмета.

  • Каковы рекомендуемые руководства по созданию make-файла, как мне скомпилировать из этого make-файла (я сам называю g ++, я использую 'make'?)
  • Глядя на другие программы для Linux, они почти всегда имеют файл 'configure'. Что именно это делает? Он только проверяет, установлены ли необходимые библиотеки, или это больше, чем просто проверка требований?
  • Как связать библиотеки и как это связано с моими параметрами make-файла или g ++? В Windows я собирал библиотеку, включал некоторые заголовочные файлы, говорил моему компоновщику, какой дополнительный lib-файл связать, и копировал DLL-файл. Как именно этот процесс работает в Linux?
  • Рекомендации для редакторов кода? В настоящее время я использую nano, и я слышал о vim и emacs, но не знаю, каковы их преимущества перед другими. Есть ли другие, и почему я должен рассмотреть их по сравнению с любым из предыдущих трех? Примечание: я не ищу IDE.

Любая помощь, ссылки на руководства и документацию (желательно те, которые предназначены для начинающих) очень ценятся!

Ответы [ 12 ]

1 голос
/ 08 марта 2009

В качестве дополнительного примечания среди правильных ответов здесь .. Если вы хотите взяться за дело, работая под Windows, я бы предложил новый Qt SDK . Будет чувствовать себя как дома: -)

0 голосов
/ 15 апреля 2009

Я советую использовать SCons вместо Make, он делает ту же работу, но проще в использовании и обработке из коробки, как создавать динамические библиотеки, зависимости и т. Д. Вот это реальный пример для простой программы

env = Environment()
env.Append(CCFLAGS='-Wall')
env.Append(CPPPATH = ['./include/'])

env.MergeFlags('-ljpeg')
env.ParseConfig("sdl-config --cflags --libs")
env.ParseConfig("curl-config --cflags --libs")
env.ParseConfig("pkg-config cairo --cflags --libs")

env.Program('rovio-pilot', Glob('./src/*.cpp'))

Как текстовый редактор, я доволен JEdit для кодирования, но это дело вкуса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...