Модераторы: xvr

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> VS Проект -> GNU make, как преобразовать в мейкфайл? 
V
    Опции темы
SIRIUStar
Дата 21.10.2008, 16:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 71
Регистрация: 20.7.2007
Где: Одинцово

Репутация: нет
Всего: нет



Всем привет! Извините, я может не по теме, но всетаки вопрос: Есть некий кросплатформенный проект написанный в среде Visual Studio 2008, нужно состряпать из этого солюшона мейкфайл под GNU Make, с целью сборки на Линуксе. Руками корячить не охота) Если кто знает как тут можно жизнь упростить, подскажите пожалуйста! Заранее спасибо!  smile 
PM MAIL WWW ICQ   Вверх
SIRIUStar
Дата 22.10.2008, 13:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 71
Регистрация: 20.7.2007
Где: Одинцово

Репутация: нет
Всего: нет



Ну ребят?? Неужели так все плохо? должна же быть какаято прога.. Я бы сам написал мейкфайл, но должно же быть хоть что-то) smile  smile 


Эх.. Чувствую automake меня ждет)

Это сообщение отредактировал(а) SIRIUStar - 22.10.2008, 13:08
PM MAIL WWW ICQ   Вверх
Любитель
Дата 22.10.2008, 13:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

Репутация: нет
Всего: 92



Цитата(SIRIUStar @  21.10.2008,  16:52 Найти цитируемый пост)
кросплатформенный

Ты в этом уверен?


--------------------
PM MAIL ICQ Skype   Вверх
Fin
Дата 22.10.2008, 14:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дракон->Спать();
**


Профиль
Группа: Участник
Сообщений: 687
Регистрация: 4.1.2006

Репутация: нет
Всего: 10



SIRIUStar, Если у тебя не консольное приложение, то я не уверен, что оно у тебя кроссплатформенное. Хотя может быть ты используеш Qt. Но тогда в принципе под Linux у тебя не должно вставать вопросов. В Help достаточно хорошо расписан процесс.

Но даже в консолке можно слишком много напихать only Windows.

Это сообщение отредактировал(а) Fin - 22.10.2008, 14:48


--------------------
Пролетал мимо.
PM MAIL   Вверх
SIRIUStar
Дата 22.10.2008, 15:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 71
Регистрация: 20.7.2007
Где: Одинцово

Репутация: нет
Всего: нет



Ребят, я сам его писал) кросплатформенное) ну общими словами, это графический движок.. мой проект, делаю для себя.. а писал подложку для графики на SDL. она кросовая, да OpenGL тож думаю не только на винде сушествует)) дык, есть варианты? smile 

Fin
Но даже в консолке можно слишком много напихать only Windows.

я все понимаю, вызовов Win Api не использовал) да и зачем? SDL дает все необходимое)

PS это библиотека, всякие штуки типа WinMain там нету.. да и примеры я писал консольные.. don t panic)

Это сообщение отредактировал(а) SIRIUStar - 22.10.2008, 15:14
PM MAIL WWW ICQ   Вверх
Mayk
Дата 22.10.2008, 15:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


^аВаТаР^ сообщение>>
****


Профиль
Группа: Участник
Сообщений: 2616
Регистрация: 22.5.2005
Где: за границей разум а

Репутация: 5
Всего: 134



Как вариант где то там в менюшке Project или около того было "export makefile".
Сделать его, допиливать руками.


--------------------
 Здесь был кролик. Но его убили.
Человеки < кроликов, йа считаю.
PM MAIL WWW ICQ   Вверх
SIRIUStar
Дата 22.10.2008, 15:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 71
Регистрация: 20.7.2007
Где: Одинцово

Репутация: нет
Всего: нет



Цитата(Mayk @  22.10.2008,  15:12 Найти цитируемый пост)
Как вариант где то там в менюшке Project или около того было "export makefile".Сделать его, допиливать руками.


да, я об этом тож думал.. но он не совместим в make-ом.. его всего перебивать придется.. лан, думаю заморочусь я всякими штуками типа autoconf, automake.. выхода пока другого не вижу..

PM MAIL WWW ICQ   Вверх
smalcom
Дата 22.10.2008, 15:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 494
Регистрация: 16.10.2004
Где: Dnepr

Репутация: нет
Всего: 7



может поможет

Код

LIBS = -L/usr/X11R6/lib -lGL -lGLU -lm -lXt -lSDL -lSDL_ttf
SRC = main.cpp settings.cpp engine.cpp error.cpp file.cpp font.cpp camera.cpp \
    vector2d.cpp vector3d.cpp vector4d.cpp matrix3d.cpp matrix4d.cpp material.cpp \
    loader.cpp texture.cpp model.cpp simpledlobject.cpp object.cpp
OBJ = $(SRC:.cpp=.o)

NAME = engi
INC = -I/usr/include/SDL
CFLAGS = -Wall -g3
CC = g++

all : $(OBJ)
    $(CC) $(OBJ) -o $(NAME) $(LIBS)

%.o : %.cpp
    $(CC) -c $(CFLAGS) $(INC) $(OPT) $< -o $@

clean :
    rm -f $(NAME) $(OBJ)




--------------------
What DA F...???
PM MAIL WWW Skype Jabber   Вверх
SIRIUStar
Дата 23.10.2008, 11:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 71
Регистрация: 20.7.2007
Где: Одинцово

Репутация: нет
Всего: нет



smalcom
может поможет


Спасибо за ответ, но это пример мэйкфайла) Как писать мэйкфайлы я знаю) только много писать, и тут мне нужны средства автоматизации этого дела.. но все равно спасибо)

Вообщем покопал, почитал и если кому будет интересна эта тема немного расскажу что к чему)

как подготовить дистрибутив программы в пакете исходного кода?
(сразу говорю процесс на самом деле геморойный, много нада делать лапками, но интересный)

Шаг 1:
Для начала выбираем директорию, которая является корнем нашего проекта. В ней и будем работать)
Шаг 2:
Перешли в этот каталог, запускаем 
Код

$ autoscan

Она проверяет вложенные каталоги, ищет исходники, библиотеки, хедеры.. ну и другую ересь.
в результате выполнения мы получаем некоторый файл configure.scan
что но содержит? ну.. это ряд неких макросов которое использует программа autoconf для создания конфигурации пакета.. 
Шаг 3:
Обычно, этот файлик не совсем верный.. его нужно открыть, доработать руками.. и сохранить как новый файл configure.in
Все - мы готовы к созданию конфигурации..
Шаг 4:
Запускаем 
Код

$ aclocal
$ autoconf

aclocal нужна для создания некого файла дополнительных макросов m4.. без этого файла autoconf скорее всего не сможет собрать конфигурацию..
Выполнили, получаем configure!! (если все верно в configure.in) думаю что все кто собирал проги в никсах знают что это)) идем далее:
Шаг 5: 
Теперь, нужно ручками написать некий файл Makefile.am на каждый из наших целей в проекте. Он обычно содержит некую цель( бинарник, библиотека, документация и тд) и объекты которые необходимы для достижения этой цели. Распихали эти файлы по дереву проекта.. далее:
Шаг 6:
выполняем
Код

$ automake --add-missing

Если все сделанно верно, то создаются несколько файлов.. типа sh-install , INSTALL .. и тд
Но главное что нам нужно так это файл Makefile.in! в нем компануются все .am-ки.. 
Теперь мы готовы отконфигурировать проект.
Шаг 7:
далее все уже это знают:
Код

$ ./configure

Создается нужный так сильно нам Makefile.
Шаг 8:
ну как обычно:
Код

$ make

Выполняем мейкфайл, собираем наш бешенный проект))

я сбился со счету)) вообщем все) это стандартная схема выработки опен сорс проектов)) 
Я руководствовался этими источниками, тут написанно подробнее)
AutoMake
Configure
Книжка по этому делу в pdf
книжка по automake - анг

Всем спасибо) недеюсь что это кому нить пригодится  smile  smile 
PM MAIL WWW ICQ   Вверх
xvr
Дата 23.10.2008, 12:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 20
Всего: 223



Цитата(Mayk @ 22.10.2008,  15:12)
Как вариант где то там в менюшке Project или около того было "export makefile".
Сделать его, допиливать руками.

Было, до VS 6.0 включительно. У 2003 .net и далее отвалилось  smile Мелкомягкие говорят - нефига, пользуйтесь сборкой с командной строки devenv. И оно действительно собирает, но не под Linux  smile (Варианты с использованием wine или VMWare для запуска devenv под Linux с заменой cl на gcc я не рассматриваю  smile )

Кстати, у нас тут умельцы написали на perl'е скрипт, который читал солюшн он VS .net 2005 (это xml файл) и генерировал по его содержимому makefile. Но оно весьма кривое и настроенное на конкретный проект.


Это сообщение отредактировал(а) xvr - 23.10.2008, 12:05
PM MAIL   Вверх
Любитель
Дата 23.10.2008, 12:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

Репутация: нет
Всего: 92



Цитата(xvr @  23.10.2008,  12:03 Найти цитируемый пост)
читал солюшн он VS .net 2005 (это xml файл)

Наверно, речь про файл проекта ;) Солюшен XML-ем не является, да и по сути солюшен - просто набор проектов (+задание зависимостей между ними, билд-ордера и т. д.).


--------------------
PM MAIL ICQ Skype   Вверх
SIRIUStar
Дата 23.10.2008, 12:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 71
Регистрация: 20.7.2007
Где: Одинцово

Репутация: нет
Всего: нет



Цитата(xvr @  23.10.2008,  12:03 Найти цитируемый пост)
Кстати, у нас тут умельцы написали на perl'е скрипт, который читал солюшн он VS .net 2005 (это xml файл) и генерировал по его содержимому makefile. Но оно весьма кривое и настроенное на конкретный проект.


Понял, спасибо, вот в принципе такое дело и искал) хотя уже не нужно.. через автотулс большие возможности, да если уж под линуксом делаю, то нужно уж по правилам))

PM MAIL WWW ICQ   Вверх
xvr
Дата 23.10.2008, 16:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 20
Всего: 223



Цитата(Любитель @ 23.10.2008,  12:21)
Цитата(xvr @  23.10.2008,  12:03 Найти цитируемый пост)
читал солюшн он VS .net 2005 (это xml файл)

Наверно, речь про файл проекта ;) 

Sorry, именно он

Цитата

Солюшен XML-ем не является, да и по сути солюшен - просто набор проектов (+задание зависимостей между ними, билд-ордера и т. д.).
Угу
PM MAIL   Вверх
phprus
Дата 26.10.2008, 10:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 129
Регистрация: 22.8.2006

Репутация: нет
Всего: 3



SIRIUStar
Я думаю, что проще будет не писать все make-файлы вручную, а попробовать использовать систему для сборки исходных кодов cmake (она заменяет configure, auto*). Он есть и под винду и вроде-бы он даже умеет генерировать файлы проектов для Visual Studio.
PM MAIL WWW ICQ   Вверх
SIRIUStar
  Дата 27.10.2008, 12:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 71
Регистрация: 20.7.2007
Где: Одинцово

Репутация: нет
Всего: нет



phprus
Я думаю, что проще будет не писать все make-файлы вручную, а попробовать использовать систему для сборки исходных кодов cmake (она заменяет configure, auto*). Он есть и под винду и вроде-бы он даже умеет генерировать файлы проектов для Visual Studio.

Спасибо) я уже все сделал. Для Сmake тоже нужны специальные файлики, чтобы он понял что к чему. Помойму что то типа MakefileLists.. 

Как оказалось с автотулсами все страшно только с первого взгляда. а так если знать что к чему, очень удобная штука. Так что советую  smile 

Всем пасибо, думаю тему можно закрыть.
PM MAIL WWW ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Программирование под Unix/Linux"
xvr
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой "Код".
  • Вопросы мобильной разработки тут
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr.

 
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема »


 




[ Время генерации скрипта: 0.1121 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.