LINUX.ORG.RU

Проблемы с переходом в линукс


0

0

Хочу перенести свой проект с венды в линукс. Написан на языке С++ (проект консольный, гуй не требуется). Возникли следующие затруднения:

1. Подскажите какую среду программирования для этого будет лучше всего подойдет (только слишком сложную для освоения не надо).

2. Имеется одна основа (т.е. общая часть кода) для несколько программ, которую хотелось бы менять для всех программ один раз. Как это лучше организовать, чтобы было все в явном виде и писать makefile'ы было просто.

3. Чем лучше все это собирать cmake и др.

★★★★★

1: Emacs, непривычно поначалу, но после прохождения стандартного обучения (минут 30-40) все понимаешь,  осваиваешься, за 2 часа гугления подберешь начальный конфиг в котором кодить уже довольно удобно (тем более что поддержка С/С++ имеет место быть по дефлоту)

Dikar ★★
()

1. Для начала пойдёт любой простенький редактор с подсветкой кода (gedit, kate)

2. Без информации об "основе" что-то сказать сложно. Возможно, shared library подойдёт.

3. Если структура проекта простая, то проще всего руками написать Makefile. Если посложнее, либо не хочется руками мейкфайл делать, то можно попробовать kdevelop (к которому привыкать надо, разбираться в нелогичностях, и без знания autotools всё равно нормальный конфиг для сборки не сделать).

mv ★★★★★
()

Я аналогичную задачу решаю только у меня не ++ а просто Си. И собираюсь пользоваться обычным gcc

Хотя может и не прав

А вот с выводом кириллицы у меня не получается никак пытаюсь освоить ncurses

А для Вашей задачи требуется кириллица?

CoGo
()
Ответ на: комментарий от Dikar

Не подскажешь нормальную литературу, а то сложновато люди пишут. Переходить с MSVS очень тяжело, мозг настолько привык думать как в VS.

А как на счет eclipse?

Zodd ★★★★★
() автор топика
Ответ на: комментарий от mv

2. Просто один и тот же кусок кода можно вручную поставить в разные проги, но потом беда с редактированием одного и того же в каждой проге. Может ее в виде либы?

3. autotools я осилил, а вот на cmake забил. Хотелось бы по возможности кросплатформенность сохранить.

Zodd ★★★★★
() автор топика
Ответ на: комментарий от CoGo

> А вот с выводом кириллицы у меня не получается никак пытаюсь освоить ncurses

Не совсем понял в чем проблема? А разве она не выводится by def. Или не unicode? Мне это как раз не важно.

У меня прога занимается FEM анализом.

Zodd ★★★★★
() автор топика
Ответ на: комментарий от Zodd

cmake для кросс-платформенности как раз и лучше

ott ★★★★★
()
Ответ на: комментарий от Zodd

На счет eclipse ничего сказать не могу, использовал только vim и emacs

в плане литературы по Emacs советую обратиться к mv , отписавшему уже в этой теме, он гораздо более компетентен чем я в вопросах связанных с emacs и всем что связано с lisp .

Могу лишь дать ссылки , как-то связанные с emacs
http://habrahabr.ru/blogs/emacs/  --несколько статей как в общем про емакс, так и про некоторые моды
http://www.linux.org.ru/books/GNU/emacs/emacs_toc.html --много полезной информации с нашего любимого сайта
http://emacs.defun.ru/  --"Русская планета Emacs"

Пройдите стандартное обучение, и многое узнаете, для этого нужно в Emacs выбрать пункт меню Help, а там Emacs Tutorial (choose language).
Тут можно освоить редактирование текста, передвижение по тексту, работа с буферами и многое другое.

Сочетание клавиш из туториала севетую выписать на листок, использовать их придется часто.

Dikar ★★
()
Ответ на: комментарий от Zodd

>Переходить с MSVS очень тяжело, мозг настолько привык думать как в VS.

qtcreator - очень похоже, но на qt.

justuser ★★
()

1) Из редакторов с поддержкой дебагера -- либо Eclipse CDT либо Netbeans C++ plugin самые "навороченные" на мой взгляд.

2) shared library

3) CMake для генерации мэйкфайлов и для кроссплатформенности.

exhu
()

code::blocks из svn. идеально для кроссплатформенных C++ проектов

k0l0b0k ★★
()
Ответ на: комментарий от Zodd

Рекомендую Eclipse+CDT. И ни в коем случае НЕ Emacs и НЕ Kate.

Manhunt ★★★★★
()
Ответ на: комментарий от rual_ilmarranen

Чтобы не тормозило, нужен современный JRE (версии 1.6.*).

Хотя насчет безнадежно-нищебродских компьютеров я не уверен.

Manhunt ★★★★★
()
Ответ на: комментарий от Dikar

> emacs и всем что связано с lisp

Человеку нужна замена вижуал студии для c++. Зачем ты запугиваешь его емаксами? Посмотрит он на твой емакс, проблюется, и уйдет назад к себе на винду. И лисп свой прибереги для mv.

Manhunt ★★★★★
()
Ответ на: комментарий от rual_ilmarranen

> слишком толсто.

Я имею ввиду компьютеры без хотя бы 1 Гб оперативки, или с процессором пятилетней давности.

Manhunt ★★★★★
()
Ответ на: комментарий от Manhunt

>>Версия jre какая? У тебя там gcj небось, вместо сановского jre?

Это более вероятно, /me проверит. Ставилось то, что просто тянулось aptitude'ом.

rual_ilmarranen
()
Ответ на: комментарий от rual_ilmarranen

> Ставилось то, что просто тянулось aptitude'ом.

Аптитуд по дефолту тянет gcj. Который в плане производительности - жуткий аутсайдер. Если мне память не изменяет, sun jre у дебиана аж в non-free.

Manhunt ★★★★★
()
Ответ на: комментарий от Manhunt

>Аптитуд по дефолту тянет gcj.

Ага, действительно gcj. Сейчас попробую сановскую, если поможет, будет очень круто. Спасибо.

rual_ilmarranen
()
Ответ на: комментарий от Manhunt

Комп у меня ноутбук, 2Гб оперативы, 2Ггц. На скорость не жалуюсь.

На счет емакса, поставил и удалил (выглядел страшно) :)

Zodd ★★★★★
() автор топика
Ответ на: комментарий от Zodd

> Комп у меня ноутбук, 2Гб оперативы, 2Ггц.

Эклипс должен нормально работать. Лучше взять свежую версию - http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/...

Скачается файл - архив, который распаковывается командой
$ tar xzf eclipse-cpp-galileo-linux-gtk.tar.gz

Дальше запускаешь его командой
$ eclipse/eclipse

Если запустится нормально - делаешь ярлык на рабочий стол. Если вместо запуска выругается в консоль - ищешь его ругань в гугле, и смотришь, как возникшую проблему решают другие люди.

Manhunt ★★★★★
()

> 1. Подскажите какую среду программирования для этого будет лучше всего подойдет (только слишком сложную для освоения не надо).

Codelite можешь попробовать ещё.

> 2. Имеется одна основа (т.е. общая часть кода) для несколько программ, которую хотелось бы менять для всех программ один раз. Как это лучше организовать, чтобы было все в явном виде и писать makefile'ы было просто.

Ну можно было бы shared library сделать, но под виндой немного проблемно будет dll собирать (имеется ввиду прописывать экспорт класов, если они экспортируются). Я б делал shared library под линуксом и static-library под виндой. Если использовать систему сборки - то выбор между статической и динамической библиотекой - пару строчек.

> 3. Чем лучше все это собирать cmake и др.

да. Как вариант, если очень любишь lua - можешь попробовать premake - он тоже умеет под обе платформы генерить.

stpg
()
Ответ на: комментарий от Manhunt

Каждый смотрит по-своему.
По-моему быстрее было бы потратить 40 минут на туториал + 2-3 часа на собирание простенького конфига из чужих, чем долго и нудно выбирать между гигантами вроде Eclipse и еще чем-нить и в конце концов , через полгодика работы снова попробовать емакс или vim и понять что потерял много времени на бесполезные поиски.

А на счет запугивания, был явный перегиб с посте: инфа выложена на блюдечке, да и запугивать сложно, ибо сам юзаю имакс около 2-3 недель, но нахожу его вполне себе юзабельным и удобным.Страшными были первые 10 минут чтения туториала, а потом все обвыклось.

Тем более если человек написал серьезную программу, думаю настроить под себя чужой софт, пользующийся популярностью с помощью 30 строчек конфига труда не составит, ведь все написано за него и валяется в интеренте.

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

Dikar ★★
()
Ответ на: комментарий от Manhunt

> Чтобы не тормозило, нужен современный JRE (версии 1.6.*).

От ссанок версии 1.6.0.14 пойдёт, я думаю?

> Хотя насчет безнадежно-нищебродских компьютеров я не уверен.

C2D 2.53GHz и 4 гига озу пойдёт, я думаю? Не очень нищебродски?

А херли тормозит со страшной силой, как виму и емаксу не снилось потормозить даже на лоу-енд компах пятилетней давности?

kemm
()
Ответ на: комментарий от kemm

> От ссанок версии 1.6.0.14 пойдёт, я думаю? C2D 2.53GHz и 4 гига озу пойдёт, я думаю? Не очень нищебродски?

Да, все нормально.

> А херли тормозит со страшной силой


4.2

У коллеги на работе ровно такая же конфигурация, постоянно сидит в CDT. Ни каких жалоб на тормоза у него нет - я специально интересовался где-то пол-года назад. У себя, когда смотрел в очередной раз на эклипс, на аналогичном компе тормозов также не заметил.

> виму и емаксу не снилось потормозить даже на лоу-енд компах пятилетней давности?


Это немножко разного класса программы. Если тебе интересно, то я сижу под vim. А топикстартеру нужно что-то аналогичное M$ visual studio. Повтори слова "аналогичное M$ visual studio" раз 100-200, и до тебя должно дойти, в чем же дело.

Manhunt ★★★★★
()
Ответ на: комментарий от Dikar

Ты прочитай внимательно самое первое сообщение топикстартера:
> Хочу перенести свой проект с венды в линукс. Подскажите какую среду программирования для этого будет лучше всего подойдет (только слишком сложную для освоения не надо).


У человека есть конкретная задача: перетащить программу под линукс. Желательно быстро и эффективно. Оверхед на изучение абсолютно непривычного редактора (изотерического, с точки зрения вендопользователя) сюда явно не вписывается. Ему блокнот будет лучше, чем вим и емакс.

Когда однажды ему будет нечем заняться, он сам попросит рассказать ему про преимущества емакса или там лиспа. А если сейчас их ему предлагать, то ничего, кроме раздражения и чувства, что в линуксе всё через задницу сделано, у человека не возникнет. Пользоваться непривычными инструментами - страшно неловко, и ломать свои привычки он сейчас не стремится.

И без того дофига всего нового придется освоить: работу с gcc, создание и использование либ, make/cmake/autotools/scons/ant.

Manhunt ★★★★★
()
Ответ на: комментарий от Manhunt

Попробовать освоить могу и емакс. Все таки смог же разобраться в арче, коньках, mpd, в openbox'е и в awesome. Для меня самое главное - чтобы было по принципу KISS.

Zodd ★★★★★
() автор топика
Ответ на: комментарий от Manhunt

> 4.2

> У коллеги на работе ровно такая же конфигурация, постоянно сидит в CDT. Ни каких жалоб на тормоза у него нет - я специально интересовался где-то пол-года назад. У себя, когда смотрел в очередной раз на эклипс, на аналогичном компе тормозов также не заметил.

Вот блин. А я заметил. Тормозит, скотина... Не, работать, в принципе, можно, но раздражает -- через пару часов хочется материться в голос. Кому-то, может, такое незаметно (кому-то 75 Гц на crt нормально, мне 100 нужно было, восприятие у всех разное).

> Повтори слова "аналогичное M$ visual studio" раз 100-200, и до тебя должно дойти, в чем же дело.

Дык ему и предложили. Только предупредили, что тормозит.

1: есть эклипс 2: но он под линуксом тормозит Ты: нифига он не тормозит, у вас руки кривые Я: 4.2 -- тормозит на топовой конфигурации и с кошерным jre

С чем ты несогласен-то? Человеку предложили на выбор несколько вариантов, от быстрых и Ъ vim'а с emacs'ом, через быстрые, но несколько функционально-бедные QtCreator и kdevelop, до пафосных, но тормозящих eclipse и netbeans. Пусть выбирает на свой вкус, учитывая плюсы и минусы.

kemm
()
Ответ на: комментарий от kemm

> Тормозит, скотина... Не, работать, в принципе, можно, но раздражает -- через пару часов хочется материться в голос.

У других - не тормозит. И матом они от эклипса не ругаются, ни через час, ни через год. А у тебя - тормозит. Странно как-то, не находишь? ;)




Действительно, пусть смотрит и выбирает сам. Не будем разводить флейм.

Manhunt ★★★★★
()
Ответ на: комментарий от Manhunt

> У других - не тормозит ... А у тебя - тормозит. Странно как-то, не находишь? ;)

Не нахожу. Ещё раз аналогию -- кому-то 75 герц на ЭЛТ-мониторе более чем достаточно для комфортной работы, мне надо сотню, иначе к концу дня глаза начинают вытекать.

kemm
()

1. Code::Blocks, свежий попробуйте, меня порадовали новые версии. Хотя пока предпочитаю kdevelop.

3. см. пункт 1. Как вариант еще scons есть.

P.S> Эклипс хоть и тормозит, но сравнимо с той же вижуалстудией под виндой

P.P.S> emacs и vim это, конечно, здорово, но для своих задач. Может я что и не понимаю, но на простенькую гуишку в qtcreator-е уйдет 10 минут, а сколько в емаксе?

br0adcast007
()
Ответ на: комментарий от br0adcast007

>Может я что и не понимаю, но на простенькую гуишку в qtcreator-е уйдет 10 минут, а сколько в емаксе?

Примерно столько же. Emacs, разумеется, должен быть предварительно настроен, хотя бы так: http://xtalk.msk.su/~ott/ru/writings/emacs-devenv/EmacsCedet.html

srj ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.