crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

7 страниц V  « < 2 3 4 5 6 > »   
Ответить в данную темуНачать новую тему
> Статическая сборка, сорри за повторы :(
ViGOur
  опции профиля:
сообщение 11.1.2009, 18:04
Сообщение #31


Мастер
******

Группа: Модератор
Сообщений: 3296
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

Спасибо сказали: 231 раз(а)




Репутация:   40  


А вот это не знаю, возможно никак!
:)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AD
  опции профиля:
сообщение 11.1.2009, 18:14
Сообщение #32


Профессионал
*****

Группа: Участник
Сообщений: 2003
Регистрация: 4.2.2008
Из: S-Petersburg
Пользователь №: 84

Спасибо сказали: 70 раз(а)




Репутация:   17  


Цитата(ViGOur @ 11.1.2009, 18:04) Link
А вот это не знаю, возможно никак!
:)

ну есть один способ. Но он для извращенцев. Перейти на статическую сборку. Добавить еще один проект, выкинуть из него все файлы. Добавить нужные файлы и собрать. Но опять же это через голову! :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 11.1.2009, 18:22
Сообщение #33


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


а каким образом студия вообще реализует сборку в разных режимах, т.е. чем для студии (ее параметры) отличаются отладочная и релизная сборки?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AD
  опции профиля:
сообщение 11.1.2009, 18:32
Сообщение #34


Профессионал
*****

Группа: Участник
Сообщений: 2003
Регистрация: 4.2.2008
Из: S-Petersburg
Пользователь №: 84

Спасибо сказали: 70 раз(а)




Репутация:   17  


Цитата(Litkevich Yuriy @ 11.1.2009, 18:22) Link
а каким образом студия вообще реализует сборку в разных режимах, т.е. чем для студии (ее параметры) отличаются отладочная и релизная сборки?

Странный вопрос. А чем отличается для MinGW? Ты в pro-файле указываешь, какие необходимо подключить библиотеке. В студии также. При разных сборках проекта подключаются разные библиотеки.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 11.1.2009, 18:39
Сообщение #35


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(AD @ 11.1.2009, 21:32) Link
Ты в pro-файле указываешь, какие необходимо подключить библиотеке.
нет, qmake знает какие dll'ки отладочные, а какие релизные и засовывает пути к ним в make-файлы. Отдельный файл для релизной сборки, отдельный для отладочной.

А студия не пользуется qmake'ом и не создает make-файлы, значит держит настройки отдельно для релизной версии отдельно для отладочной.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AD
  опции профиля:
сообщение 11.1.2009, 18:56
Сообщение #36


Профессионал
*****

Группа: Участник
Сообщений: 2003
Регистрация: 4.2.2008
Из: S-Petersburg
Пользователь №: 84

Спасибо сказали: 70 раз(а)




Репутация:   17  


Хорошо, а что значат тогда строки:
CONFIGURE=shared

and
CONFIGURE=static
? Поясни пожалуйста. А твое объяснение для студии в принципе правильное, кроме одного, она не может не пользоваться qmake-ом. Просто создаваемые файлы пихаются либо в какой-то не видимый для пользователя файл, либо бинарный кой-нибудь.


АААА, понял. В студии при создании проекта используется как раз qmake. Но содержимое помещается не в makefile, а в xml файл формата .vcprj (формат проекта для Visual Studio, начиная с 7 версии).
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 11.1.2009, 19:00
Сообщение #37


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(AD @ 11.1.2009, 21:43) Link
CONFIGURE=shared
CONFIG += shared
эта запись присутствует в файле %QTDIR%\mkspecs\qconfig.pri
я ее просто оттуда украл :)

qmake для случая с MinGW работает так: читает %QTDIR%\mkspecs\win32-g++\qmake.conf, в котором указан %QTDIR%\mkspecs\qconfig.pri, затем мой файл проекта foo.pro.
Путь к %QTDIR% зашит в самом qmake.

И на основе этих данных генерирует три мэйкфайла:
Makefile - неизменные данные для разных видов сборок
Makefile.Debug - данные специфичные для отладочной сборки
Makefile.Release - данные специфичные для релизной сборки

спцифичными являются библиотеки, например:
CXXFLAGS      = -g -frtti -fexceptions -mthreads -Wall $(DEFINES)
INCPATH       = -I"h:\Qt\4.3.5_shared\include\QtCore" -I"h:\Qt\4.3.5_shared\include\QtCore"
                       -I"h:\Qt\4.3.5_shared\include\QtGui" -I"h:\Qt\4.3.5_shared\include\QtGui" -I"h:\Qt\4.3.5_shared\include"
                       -I"h:\Qt\4.3.5_shared\include\ActiveQt" -I"build\moc" -I".\build\uic" -I"h:\Qt\4.3.5_shared\mkspecs\win32-g++"
LINK        =        g++
LFLAGS        =        -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -Wl,-subsystem,console -mthreads -Wl
LIBS        =        -L"h:\Qt\4.3.5_shared\lib" -lQtGuid4 -lQtCored4
QMAKE         = h:\Qt\4.3.5_shared\bin\qmake.exe
IDC           = h:\Qt\4.3.5_shared\bin\idc.exe
обрати внимание на путь и на имена в переменной LIBS (для релизного файла там будет: -lQtGui4 -lQtCore4 )


когда я командую make debug
программа make читает первый мэйк файл, находит в нем точку входа debug, а в ней написано:
debug: $(MAKEFILE).Debug FORCE
    $(MAKE) -f $(MAKEFILE).Debug
т.е. $(MAKEFILE).Debug FORCE после подстановки переменной получается Makefile.Debug FORCE. Ну а в этом файле уже записаны все пути.


Цитата(AD @ 11.1.2009, 21:43) Link
кроме одного, она не может не пользоваться qmake-ом
студия скорее всего неимеет ни малейшего представления об этой программе. И IDE обычно не работают с мэйкфайлами, т.к. могут сами выполнять все команды (запускать программы) которые в мэйкфайле записаны.

Вывод6 надо разобратся с тем где и что записано в студии
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AD
  опции профиля:
сообщение 11.1.2009, 19:08
Сообщение #38


Профессионал
*****

Группа: Участник
Сообщений: 2003
Регистрация: 4.2.2008
Из: S-Petersburg
Пользователь №: 84

Спасибо сказали: 70 раз(а)




Репутация:   17  


Я тебе и ответил, что все данные, как собирать записываются в файл формата .vcprj! А этот файл является файлом проекта. При нажатии на F7 или как-о по-другому студия считывает эти данные и в соответствии с ними компилирует. Как понимаешь, одновременно проект для статики и для динамики создать нельзя, поэтому можно сделать ход конем, как я и объяснил. Создать второй файл проекта, добавить в него нужные исходники и скомпилировать. Дома я эту технологию и попробую!

Сообщение отредактировал AD - 11.1.2009, 19:08
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 11.1.2009, 19:24
Сообщение #39


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(AD @ 11.1.2009, 22:08) Link
Как понимаешь, одновременно проект для статики и для динамики создать нельзя
А файл этот, при наличии интегратора создает интегратор?

Цитата(AD @ 11.1.2009, 22:08) Link
Создать второй файл проекта, добавить в него нужные исходники
впринципе можно руками претащить из двух файлов в третий нучные части.

можешь дать свой файл проекта для студии
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AD
  опции профиля:
сообщение 11.1.2009, 19:24
Сообщение #40


Профессионал
*****

Группа: Участник
Сообщений: 2003
Регистрация: 4.2.2008
Из: S-Petersburg
Пользователь №: 84

Спасибо сказали: 70 раз(а)




Репутация:   17  


Цитата(Litkevich Yuriy @ 11.1.2009, 19:21) Link
А файл этот, при наличии интегратора создает интегратор?

впринципе можно руками претащить из двух файлов в третий нучные части.

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

Можно. Но мое решение ничем не хуже тогда! Головной боли будет одинаковое количество! :))))
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

7 страниц V  « < 2 3 4 5 6 > » 
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 28.12.2025, 3:06