LINUX.ORG.RU

Как перенести проект с Windows на Linux или с чего начать? Есть cpp проект под винду, рабочий. Необходимо перенести на Linux


0

2

Имется рабочий проект (cpp)винду. Необходимо перенести на его Linux и продолжить программировать далее. С Линуксом работал на уровне пользователя (знаком с командной строкой). Проект написан Microsoft Visual Studio 2010. Учитывая вышеизложенное, прошу помочь советом - на какой платформе/системе лучше всего начать? - какие пакеты С++ необходимы для старта/переноса исходников? - где брать стандартные библиотеки? - что нужно еще? Спасибо.

Ответ на: комментарий от Harald

Почему сразу «хипстор». Сколько не сталкивался с cmake - всегда приятно радовал. Для него даже гуйня есть...

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

Гыгы. В прошлом треде мне показали суть внутренней реализации boost::asio (да, я там был неправ). И highload ей с такой реализацией явно не светит:)

А что там не так?

З.Ы. boost.asio в хайлоде не юзал, то был сарказма пост. :)

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

boost.asio легко выдирается из буста и с минимумом зависимостей включается в проект. Там из компилируемых зависимостей, вроде, только boost.system.

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

Можешь и дебьян поставить, если поцтеринга не боишься

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

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

Ок, расскажи, как ты будешь делать обработку кучи запросов в венде без использования его или еще более кривого аналога.

Pavval ★★★★★
()

Если приложение сложное, есть большой смысл перейти на использование какой-либо библиотеки. Например, Qt. Таким образом у тебя будет одинаковый исходный код и набор доступных функций и под Windows, и под Linux. Там есть и работа с сетью, и функции для создания интерфейсов пользователя и много чего ещё. Если ты используешь функции для работы с окошками, то иного выхода у тебя и нет, потому что под Linux не принято писать с помощью прямых обращений к иксам, а принято использовать какой-либо тулкит (Qt, GTK, Tk и т. д.).

Если приложение использует лишь стандартную библиотеку С/С++, то перенестись должно очень легко, только поправить различия между компиляторами (GCC и MSVC имеют некоторые отличия в синтаксисе).

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

В качестве дистрибутива лучше всего тебе подойдёт Ubuntu или Debian.

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

Спасибо за предоставленные варианты. Почитал про ерланг, по свойствам подходит больше всего, однако нужно изучать/пилить с нуля. Из книг нашел одну единственную на рус языке -Чезарини Ф., Томпсон С. Программирование в Erlang. Язык по рейтингам не популярен, а значит скорой помощи ждать не стоит (((, хотя оч даже заинтересвал меня.

На сколько я понял из описания на ерланг (wiki), программирование и тестирование происходит в терминале., т.е. IDE для нет? В какие дистрибутивы линукса этот язык входит?

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

IOCP, может слышал?

В бустасии WaitForMultipleObjects для не-IOCP платформ кстати. Вот ты говоришь «винда», а... которая - их несколько.

slackwarrior ★★★★★
()
Последнее исправление: slackwarrior (всего исправлений: 1)
Ответ на: комментарий от wellcom

Язык по рейтингам не популярен, а значит скорой помощи ждать не стоит (((, хотя оч даже заинтересвал меня.

Рейтинги от MTV?

На сколько я понял из описания на ерланг (wiki), программирование и тестирование происходит в терминале., т.е. IDE для нет? В какие дистрибутивы линукса этот язык входит?

У него просто есть REPL. IDE для него есть: IntelliJ Idea + Erlang plugin. Можно в emacs'е писать. Но, имхо, IDE там не особо и нужна - язык простой как топор.

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

рейтинг от гугла, первых пару статей...

то что язык простой как топор, это очевидно для тех кто его знает, а для меня, этим топором еще нужно научится рубить, и рубить как нада, но перед этим еще научится его точить и т.д. (устанавливать) И все же, в каких из дистрибутивов линукса он уже включен?

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

И все же, в каких из дистрибутивов линукса он уже включен?

Да он по-моему есть в репах всех дистров. В Ubuntu/Debian

$ apt-get install erlang
и Erlang «включен» в дистр. По-умолчанию он нигде не ставится.

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

рейтинг от гугла, первых пару статей...

Рейтинг поисковых запросов о самом языке ничего не говорит. Почитай лучше что это такое и для чего проектировался.

P.S. для числодробилок Erlang не подходит.

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

на общем фоне нескольких языков http://www.google.com.ua/trends/explore#q=/m/02mm3, /m/0jgqg, Python&cmpt=q

...ну не сугубо числодробилок, а прием данных на больших скоростях по сети, обработка и фильтрация их, выброс обратно в сеть или запись на диск/в базу данных

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

читал про него, как раз то что нужно, многопроцесорность/многопотоковость, надежность, скорость

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

IOCP, может слышал?

Нет, спасибо за направление - буду курить. З.Ы. да, я не хайлоадщик (ес-нно).

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

на общем фоне нескольких языков http://www.google.com.ua/trends/explore#q=/m/02mm3, /m/0jgqg, Python&cmpt=q

Erlang - не ЯП общего назначения, у него есть вполне конкретная ниша где он популярен и используется. То что сейчас студентота изучает C# и в гугл валится куча запросов по нему еще не значит что C++ хана и нигде он не используется.

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

для не-IOCP

Это что за винда такая, которая WaitForMultipleObjects умеет, а IOCP нет? 98 чтоль?

anonymous
()

большой проект-то, давно писать начали?

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

Почему-то почти всё свободное ПО использует автотулзы, а ынтырпрайз это не то, на что стоит равняться

Harald ★★★★★
()

ТС, а можешь код показать? Чтобы более аргументированные мнения получить

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

http://voices.canonical.com/jussi.pakkanen/2012/09/21/relative-popularity-of-...

Но главаное, autotools под шиндошс не поможет вообще никак. А вот cmake универсален и генерирует проекты для разных ide.

invy ★★★★★
()
Последнее исправление: invy (всего исправлений: 1)
Ответ на: комментарий от invy

Но главаное, autotools под шиндошс не поможет вообще никак.

под cygwin и с mingw вполне себе работает и нативный код собирать помогает, сам видел

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

ну ладно, 45% пакетов убунты - всё равно это таки большинство

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

Ладно, cygwin, тут я соглашусь. Но MSYS-то чем страшен? Он даёт всё необходимое для сборки библиотек и утилит. И без труда работает со страшностями вроде Autotools.

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

Страшен версиями. Там же всё старее чем в дебиане олд-стэйбл всё :) Ну и то как оно «вписывается» в венду - тоже страшно выглядит. Пути в виде /c/Program\ Files\ \(x86\)/ - это не страшно? :)

зы хотя врое бы там сейчас «лучше» с версиями стало.

invy ★★★★★
()
Последнее исправление: invy (всего исправлений: 1)
Ответ на: комментарий от invy

В /c/Dev всегда ставлю подобные утилиты (git в том числе). :)
Program\ Files\ \(x86\)/ не нужен.

P.S. Зато там полноценный shell. Мигрировав из GNU/Linux окружения плеваться не придётся.

EXL ★★★★★
()
Последнее исправление: EXL (всего исправлений: 1)
Ответ на: комментарий от EXL

Да я сам им по работе пользуюсь(по работе) в том числе из-за гита. Куда ж нам без awk, grep, sed :)

invy ★★★★★
()
Последнее исправление: invy (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.