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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> ./configure make для win 
:(
    Опции темы
mrgloom
Дата 2.4.2013, 16:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



часто приходится смотреть проекты из под линукса ,а там кроме мейкфайлов ничего нет (причем это не CMake который как раз всё это умеет)
есть какой то метод если не преобразовать в проект VS2008, то хотя бы собрать бинарник?

в линуксе это вроде делается так.
Цитата

./configure
    make

PM MAIL   Вверх
kolesnle
Дата 2.4.2013, 17:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Упертый сишник
*


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

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



MinGW
Тут в папке /bin будет mingw32-make.exe
PM MAIL   Вверх
drug007
Дата 2.4.2013, 17:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Еще лучше использовать msys в добавок к mingw - очень хорошая эмуляция никсов. Практически можно будет под виндой собирать никсовые проекты выполняя те же команды. Настройка может потребоваться, конечно, но из коробки много что работает.
PM MAIL   Вверх
kamre
Дата 2.4.2013, 22:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(drug007 @ 2.4.2013,  17:15)
Практически можно будет под виндой собирать никсовые проекты выполняя те же команды. Настройка может потребоваться, конечно, но из коробки много что работает.

И как потом подключать плюсовый код, собранный таким образом через MinGW/MSYS, к своему проекту на MSVC?
PM MAIL   Вверх
kolesnle
Дата 3.4.2013, 08:50 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Упертый сишник
*


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

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




Цитата(kamre @  2.4.2013,  22:05 Найти цитируемый пост)
И как потом подключать плюсовый код, собранный таким образом через MinGW/MSYS, к своему проекту на MSVC? 

Цитата(mrgloom @  2.4.2013,  16:06 Найти цитируемый пост)
 если не преобразовать в проект VS2008, то хотя бы собрать бинарник?

PM MAIL   Вверх
bsa
Дата 3.4.2013, 11:38 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

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



Цитата(kamre @  2.4.2013,  23:05 Найти цитируемый пост)
И как потом подключать плюсовый код, собранный таким образом через MinGW/MSYS, к своему проекту на MSVC?
никак.
PM   Вверх
kamre
Дата 4.4.2013, 00:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(kolesnle @ 3.4.2013,  08:50)
Цитата(mrgloom @  2.4.2013,  16:06 Найти цитируемый пост)
 если не преобразовать в проект VS2008, то хотя бы собрать бинарник?

Ну собрали бинарник, а это может быть и dll, как потом использовать это в MSVC? Вот bsa уже подсказал, что никак. Так что какая-то корявая кроссплатформенность получается у autotools, вроде про такие проекты в первую очередь идет речь.
PM MAIL   Вверх
borisbn
Дата 4.4.2013, 06:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

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



kamre, я вот не знал, что dll из MingGW нельзя использовать в студии и использовал )


--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
bsa
Дата 4.4.2013, 11:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

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



если функции экспортируются только на С, управление памятью полностью внутреннее (т.е. нет функций выделяющих память и требующих от пользователя использовать свои средства для освобождения), хидер правильно оформлен, то тогда можно. Но опыт показывает, что далеко не всегда в итоге все корректно работает.
PM   Вверх
borisbn
Дата 4.4.2013, 11:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

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



Цитата(bsa @  4.4.2013,  11:52 Найти цитируемый пост)
если функции экспортируются только на С

необязательно. вернее, экспорт возможен только функций, но они (функции) могут создавать и возвращать указатель на абстрактный интерфейс, тоже, кстати, оформленный по определённым правилам - явный тип вызова методов, явное выравнивание, без виртуального деструктора, д.б. ф-ция destroy, которая вызывает delete this, передавать в методы можно только простые типы и т.п. В общем, головняка много, но работает. как-то... пока.. ))


--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
kamre
Дата 4.4.2013, 17:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(borisbn @ 4.4.2013,  06:25)
kamre, я вот не знал, что dll из MingGW нельзя использовать в студии и использовал )

С кучей ограничений (фактически до чистого C) можно использовать. Только к чему это? Если в библиотеке экспортируются полноценные C++ сущности (как в Qt/boost), то ни о какой корректной работе при использовании библиотек, собранных через MinGW, в MSVC и речи нет. Даже собирая все через MSVC нужно аккуратно следить за опциями сборки, чтобы не нарушать ODR.
PM MAIL   Вверх
mrgloom
Дата 18.4.2013, 17:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



т.е. максимум чего можно выжать из таких проектов это бинарник?

или руками всё подключать в чистый проект на VS ? (и иметь полный функционал)



это чисто принципиально невозможно написать конвертер из мейкфайл скриптов в файл проекта VS? или просто такого конвертера нету?
PM MAIL   Вверх
xvr
Дата 19.4.2013, 10:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(mrgloom @  18.4.2013,  17:35 Найти цитируемый пост)
это чисто принципиально невозможно написать конвертер из мейкфайл скриптов в файл проекта VS?

Принципиально невозможно. В makefile'ах может быть указано практически что угодно, файл проекта в MS VS такого не умеет. Более того, если исходные С/С++ коды были расчитанны под gcc (а они скорее всего именно под него и расчитанны), то VC их может и не переварить, у gcc масса расширений, да и даже без расширений VC поддерживает далеко не все конструкции языка С++

PM MAIL   Вверх
mrgloom
Дата 26.4.2013, 12:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(xvr @  19.4.2013,  10:43 Найти цитируемый пост)
Принципиально невозможно. В makefile'ах может быть указано практически что угодно, файл проекта в MS VS такого не умеет. Более того, если исходные С/С++ коды были расчитанны под gcc (а они скорее всего именно под него и расчитанны), то VC их может и не переварить, у gcc масса расширений, да и даже без расширений VC поддерживает далеко не все конструкции языка С++



ну CMAKE же как то работает. (т.е. умеет создавать VS проекты)

make который используется в линуксе он один или его несколько подвидов? к чему он привязан к тулчейну компилятора, т.е. к самому компилятору? или к системе?
по идее я же могу прицепить gcc к VS?
или опять же просто руками накидать в чистый проект .h и .cpp файлы и скомпилировать(т.е. если файлы кроссплатформенно написаны, то они и скомпилятся, т.е. вопрос то тут не в makefile)

что то я даже не понимаю зачем он нужен ибо вроде можно же и через bash  какой нибудь дать команды линковщику и компилятору в линуксе?

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


Эксперт
****


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

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



Цитата(mrgloom @  26.4.2013,  12:20 Найти цитируемый пост)
ну CMAKE же как то работает. (т.е. умеет создавать VS проекты)

cmake это не make! Несмотря на сходство имен

Цитата(mrgloom @  26.4.2013,  12:20 Найти цитируемый пост)
make который используется в линуксе он один или его несколько подвидов?

Один

Цитата(mrgloom @  26.4.2013,  12:20 Найти цитируемый пост)
к чему он привязан к тулчейну компилятора, т.е. к самому компилятору? или к системе?

Ни к чему не привязан.

Цитата(mrgloom @  26.4.2013,  12:20 Найти цитируемый пост)
по идее я же могу прицепить gcc к VS?

Компилятор gcc вы можете прицепить к IDE VS. Но make к компилятору отношения не имеет


Цитата(mrgloom @  26.4.2013,  12:20 Найти цитируемый пост)
что то я даже не понимаю зачем он нужен 

Это заметно  smile 

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

Простейший Makefile перечисляет все сорцы, и для каждого в нем указан способ его компиляции в объектый файл. Затем там указан исполняемый файл, который зависит от всех объектных. И в качестве команды сборки его стоит вызов линкера.

PM MAIL   Вверх
mrgloom
Дата 26.4.2013, 14:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



ну так я не понимаю зачем отдельная утилита make, если там всё сводится все равно к списку команд типа 
Цитата

gcc main.cpp


http://www3.ntu.edu.sg/home/ehchua/program...p/gcc_make.html


так у каждой IDE на Linux свои типы мэйкфайлов или все одному и тому же следуют стандарту?
т.е. возможно ли перенести проекты из разных сред? (например из эклипс в кодблокс?)
или файл проекта отдельно, а мэйкфайл отдельно?  (и если есть файл проекта обязательно ли иметь мэйкфайл?)
PM MAIL   Вверх
xvr
Дата 26.4.2013, 22:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(mrgloom @  26.4.2013,  14:03 Найти цитируемый пост)
ну так я не понимаю зачем отдельная утилита make, если там всё сводится все равно к списку команд типа 

Главная забота make не список команд, а зависимости. Что бы можно было не перекомпилировать то, что не менялось. Когда в проекте сотни файлов это становится очень и очень критично  smile 

Цитата(mrgloom @  26.4.2013,  14:03 Найти цитируемый пост)
так у каждой IDE на Linux свои типы мэйкфайлов или все одному и тому же следуют стандарту?

Сильно зависит от IDE. Некоторые используют make, некоторые вмето этого делают свои собственные системы сборки.

Цитата(mrgloom @  26.4.2013,  14:03 Найти цитируемый пост)
т.е. возможно ли перенести проекты из разных сред? (например из эклипс в кодблокс?)

У code::blocks своя собственная система сборки, т.е. его проект в эклипс перенести нельзя. Что у эклипса - не знаю, не сталкивался. В принципе любой проект (если он не включает сложных процедур в процессе сборки) можно создать заново в любой IDE.

Цитата(mrgloom @  26.4.2013,  14:03 Найти цитируемый пост)
и если есть файл проекта обязательно ли иметь мэйкфайл?

Не обязательно. Тот же C::B яркий пример  smile 

Просто утилита make (именно она, а не ее многочисленные аналоги) является стандартом де-факто для сборки чего угодно. Поэтому все IDE (ну или почти все) либо напрямую ее используют, либо имеют возможность (в добавок к своей системе сборки) запускать ее как внешнюю команду. Но синхронизация того, что написано в Makefile'е и в самом проекте в IDE при этом ложится на плечи самого пользователя.

PM MAIL   Вверх
mrgloom
Дата 29.4.2013, 09:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата

Сильно зависит от IDE. Некоторые используют make, некоторые вмето этого делают свои собственные системы сборки.


Цитата

Просто утилита make (именно она, а не ее многочисленные аналоги) является стандартом де-факто для сборки чего угодно. Поэтому все IDE (ну или почти все) либо напрямую ее используют, либо имеют возможность (в добавок к своей системе сборки) запускать ее как внешнюю команду. Но синхронизация того, что написано в Makefile'е и в самом проекте в IDE при этом ложится на плечи самого пользователя.



ну так все равно непонятно, зачем 2 дублирующие системы сборки и если make это стандарт, то почему его не все поддерживают? получается в него нельзя "экпортировать" из IDE?

если не использовать VS, а  например code::blocks , то проекты будут переносимы между виндой и линуксом?


вроде есть такой конвертер
http://sourceforge.net/projects/cbp2make/
и еще кодблокс вроде умеет из VS проекты импортировать.
хотя насколько всё это работает это вопрос.
PM MAIL   Вверх
xvr
Дата 29.4.2013, 10:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(mrgloom @  29.4.2013,  09:50 Найти цитируемый пост)
ну так все равно непонятно, зачем 2 дублирующие системы сборки

Это вопрос к авторам IDE. Могу только предположить - т.к. make не имеет какой либо стандартной структуры Makefile'а, а IDE кроме зависимостей еще надо хранить другую информацию (специфичную для самого IDE), то у авторов IDE есть 2 пути:
  •  Делать свой формат
  •  Жестко ограничить формат Makefile'а, что бы IDE могла его использовать и для хранения своей информации.
Хотя есть еще 3й путь - использовать make как есть, и обязать пользователя вручную синхронизировать Makefile и сам проект в IDE (как вы понимаете так никто не делает)  smile 

Цитата(mrgloom @  29.4.2013,  09:50 Найти цитируемый пост)
получается в него нельзя "экпортировать" из IDE?

В него - можно. Из него нельзя

Цитата(mrgloom @  29.4.2013,  09:50 Найти цитируемый пост)
если не использовать VS, а  например code::blocks , то проекты будут переносимы между виндой и линуксом?

В принципе должны быть переносимы

Цитата(mrgloom @  29.4.2013,  09:50 Найти цитируемый пост)
хотя насколько всё это работает это вопрос. 

Можно без проблем отконвертировать практически любой проект в make, и отконвертировать проекты между системами с одинаковыми возможностями build'а. А вот отконвертировать из любого Makefile'а в проект - невозможно.

Приблизительный аналог - можно отконвертировать программу на С в Ассемблер (просто откомпилировав ее), но нельзя отконвертировать программу на Ассемблере обратно в С та, что бы получилась та же самая программа. И конвертирование из С в Ассемблер то же неоднозначное - возьмите другой компилятор, или другие опции, и вы получите другой Ассемблер.

PM MAIL   Вверх
kamre
Дата 6.5.2013, 10:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(xvr @ 26.4.2013,  22:04)
Главная забота make не список команд, а зависимости. Что бы можно было не перекомпилировать то, что не менялось. Когда в проекте сотни файлов это становится очень и очень критично  smile

А как в makefile учитываются зависимости между headers? Они же динамически меняются по мере редактирования файлов.
PM MAIL   Вверх
bsa
Дата 7.5.2013, 10:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

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



kamre, например gcc умеет генерировать список хидеров, подключаемых к проекту. Таким образом, в makefile может быть правило, по которому при компиляции для каждого измененного исходника создается список хидеров, добавляемых в его зависимости. таким образом, когда ты меняешь хотя бы один из них, то перекомпилируется весь файл. 
PM   Вверх
kamre
Дата 9.5.2013, 07:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(bsa @  7.5.2013,  10:43 Найти цитируемый пост)
Таким образом, в makefile может быть правило, по которому при компиляции для каждого измененного исходника создается список хидеров, добавляемых в его зависимости. таким образом, когда ты меняешь хотя бы один из них, то перекомпилируется весь файл. 

Это что-то специфичное только для gcc? А можно пример такого makefile?
PM MAIL   Вверх
bsa
Дата 11.5.2013, 16:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

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



Посмотри любой makefile созданный с помощью configure (gnu automake)
PM   Вверх
mrgloom
Дата 21.11.2013, 15:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



вообщем остановился на cygwin, удобно тем, что это как бы еще и консоль и тем что можно boost например не ставить отдельно, а просто доставить бинарники через гуй.
хотя это решения как раз только чтобы собрать .exe файл, а не сделать солюшн и я до конца всей этой линуксовой кухни так и не понял.
минусы что собранному .exe нужен cygwin и вроде говорят с cygwin работает медленней чем если бы просто собиралось.
PM MAIL   Вверх
bsa
Дата 21.11.2013, 16:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

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



mrgloom, используй mingw + msys. По сути тоже самое, только кроме двух библиотечек (mingw10.dll и libgcc) ничего лишнего с программой таскать не надо.
PM   Вверх
boostcoder
Дата 7.12.2013, 00:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

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



Цитата(drug007 @ 2.4.2013,  17:15)
Еще лучше использовать msys в добавок к mingw - очень хорошая эмуляция никсов. Практически можно будет под виндой собирать никсовые проекты выполняя те же команды. Настройка может потребоваться, конечно, но из коробки много что работает.

недавно, мы выпустили новую версию MSYS2, который, помимо прочего, умеет работать на 64-бит платформе.
любители MSYS, сразу обнаружат приятные плюсы и отзывчивось комьюнити.
https://sourceforge.net/projects/msys2/

Добавлено через 42 секунды
Цитата(kamre @  2.4.2013,  22:05 Найти цитируемый пост)
И как потом подключать плюсовый код, собранный таким образом через MinGW/MSYS, к своему проекту на MSVC?

а это что такое?
PM WWW   Вверх
boostcoder
Дата 7.12.2013, 15:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

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



Цитата(bsa @ 21.11.2013,  16:11)
mrgloom, используй mingw + msys. По сути тоже самое, только кроме двух библиотечек (mingw10.dll и libgcc) ничего лишнего с программой таскать не надо.

а если использовать mingw-w64 и ключик '-static' - то вообще ничего таскать не придется.
PM WWW   Вверх
mrgloom
Дата 16.12.2013, 14:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



кстати у Петзолда написано, что для Microsoft Visual С++ версии 4.0. был некий nmake, в VS2008 я *.mak файлов в проекте не обнаружил.

пример
 
Цитата

HELLOWIN.MAK
#------------------------
# HELLOWIN.MAK make file
#------------------------
hellowin.exe : hellowin.obj
$(LINKER) $(GUIFLAGS) -OUT:hellowin.exe hellowin.obj $(GUILIBS)
hellowin.obj : hellowin.c
$(CC) $(CFLAGS) hellowin.c

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


Эксперт
****


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

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



Цитата(mrgloom @  16.12.2013,  14:57 Найти цитируемый пост)
кстати у Петзолда написано, что для Microsoft Visual С++ версии 4.0. был некий nmake

Это вариант make от MS, и он по прежнему присуствует в VS (C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\nmake.exe в VS 2012)

Цитата(mrgloom @  16.12.2013,  14:57 Найти цитируемый пост)
в VS2008 я *.mak файлов в проекте не обнаружил.

А вот этого больше нет. До VS 6.0 включительно (кажется) была возможность экспортировать проект VS в виде make файла. Потом ввели возможность использовать саму студию для сборки ее проектов в пакетном режиме (с командной строки), и генерацию make файла оторвали

PM MAIL   Вверх
mrgloom
Дата 17.12.2013, 09:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



так зачем теперь нужен nmake.exe ? или он просто используется VS, но напрямую им пользоваться нельзя?
PM MAIL   Вверх
xvr
Дата 17.12.2013, 10:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(mrgloom @  17.12.2013,  09:43 Найти цитируемый пост)
так зачем теперь нужен nmake.exe ?

Вы можете использовать его для сборки своих проектов. Сам VS его не использует, но позволяет подключить внешний Makefile (и nmake) как один из типов проекта. Но даже в этом случае содержимое Makefile'а остается за вами  smile 

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


Опытный
**


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

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



http://www.codeguru.com/cpp/w-d/doc_view/s...CScrollView.htm

нашел тут проект (94 года походу) там как раз присутствуют .mak файлы, только непонятно как его преобразовать для открытия в VS2008.
PM MAIL   Вверх
akizelokro
Дата 18.12.2013, 16:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Крокодил
**


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

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



Цитата(mrgloom @ 18.12.2013,  15:49)
http://www.codeguru.com/cpp/w-d/doc_view/s...CScrollView.htm

нашел тут проект (94 года походу) там как раз присутствуют .mak файлы, только непонятно как его преобразовать для открытия в VS2008.

никак не надо.
надо сначала прописать папку с бинарниками Visual Studio (cкорее всего, C:\Program Files\Microsoft Visual Studio 8.0\VC\bin) в PATH или запустить vcvar2.bat, там часто возникает в Visual Studio ситуация, что необходимые переменные среды не установлены в процессе инсталляции комплиятора. Укажешь PATH - можно работать с этими файлами (хотя пара закавычек может произойти по дороге, то одну dll надо обновить, то другую), используй бинарники из этой папки.
А там запустишь и исправляй ошибки, которые встретятся

Это сообщение отредактировал(а) akizelokro - 18.12.2013, 16:25


--------------------
a = a + b; b = a - b; a = a - b;
PM MAIL   Вверх
xvr
Дата 18.12.2013, 18:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(mrgloom @  18.12.2013,  15:49 Найти цитируемый пост)
только непонятно как его преобразовать для открытия в VS2008. 

В проекте отсутствует главное - сами файлы проекта (я они явно были). Проект можно подключить к VS 'как есть'. Создаешь в VS новый Project типа Makefile (Visual C++ -> General -> Makefile Project). В визарде на страницах 'Debug configuration setup' и 'Release configuration setup' прописываешь в 'Build command line' nmake -f ZOOM32.MAK. В Solution Explorer'е добавляешь все файлы сорцов в проект. Дальше можно собирать проект как обычно.

Либо проект можно создать в VS с нуля - делаешь обычный Win32 проект, добавляешь к нему все файлы, потом настраиваешь проперти проекта, что бы все собиралось.


PM MAIL   Вверх
akizelokro
Дата 18.12.2013, 19:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Крокодил
**


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

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



Я вообще о прогоне в командной строке. smile 


--------------------
a = a + b; b = a - b; a = a - b;
PM MAIL   Вверх
Страницы: (3) [Все] 1 2 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

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

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


 




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


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

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