Свежие комментарии

Title Comment
Не, меня волнует смысл этого

Не, меня волнует смысл этого всего. Это сделано для того, чтобы нельзя было бы сделать вот так:

foo& func(foo& a) { return a; }

?

Или для чего?

configure затем, что просят

configure затем, что просят трудящиеся. Сам я просто Makefile использую и счастлив. Это на Unix.
а чем CMake не configure? сделайте configure который вызывает CMake.
или он не на всех машинах есть, и добавить в зависимость его нельзя?

А на Windows - Qmake. Тоже тот еще подарочек, но в сравнении с CMake понравился куда больше (в частности тем, что создаваемые им VS-проекты - независимы от абсолютных путей).

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

> Семантически, как я

> Семантически, как я понимаю, разницы вообще никакой, на стеке создается объект типа foo, потом сразу помирает. В чем разница,
> почему gcc запрещает первый случай?

func(foo(1,2)) все равно что:

const foo f(1,2);
func(f);

А func берет не константную ссылку.
Вот так будет работать:
class foo
{
public:
foo(int aa, int bb) : a(aa),b(bb){}
int A() const { return a;}
int B() const { return b;}
private:
int a,b;
};

int func(const foo& f) { return f.A()*f.B();}

int main(int argc, char *argv[]) {
return func(foo(1, 2));
}

configure затем, что просят

configure затем, что просят трудящиеся. Сам я просто Makefile использую и счастлив. Это на Unix.
А на Windows - Qmake. Тоже тот еще подарочек, но в сравнении с CMake понравился куда больше (в частности тем, что создаваемые им VS-проекты - независимы от абсолютных путей).

То есть на Linux/итп в любом

То есть на Linux/итп в любом случае нужен configure (да и просто вменяемый Makefile мне несложно написать)

Зачем configure?

А на других платформах от Cmake какое-то сплошное огорчение. Помню, пытался clang/llvm собрать под виндой и если с llvm получилось, то на clang оказалось проще забить.

Вам просто такие случаи попадались, поэтому и впечатление такое сложилось.
Там скорей всего проблема в настройках CMakelists.txt этих проектов или в исходниках, а не в самом CMake.
Например я как-то пробовал собрать один проект под Windows, который на нём не тестировался. CMake отработал нормально, но в паре мест пришлось подправить CMakelists.txt, в паре - исходники, просто проект совсем не тестировался. Но это же не проблема самого CMake
Свой же CMake проект поддерживать в здоровом состоянии не трудно.
Я за последние несколько лет максимум где-то один раз создавал проект VS'ом. Мне намного легче CMake использовать.

По первой строчке - это означает, что мне нужно пересобрать Qt с таким же набором архитектур

Это зависит от того как он у вас используется - если статически/динамически линкуется, то да - нужны те же архитектуры.

CMake не использую потому что

CMake не использую потому что он какой-то совершенно безумный. То есть на Linux/итп в любом случае нужен configure (да и просто вменяемый Makefile мне несложно написать). А на других платформах от Cmake какое-то сплошное огорчение. Помню, пытался clang/llvm собрать под виндой и если с llvm получилось, то на clang оказалось проще забить.

По первой строчке - это означает, что мне нужно пересобрать Qt с таким же набором архитектур, правильно? Бинарный Qt 4.8 - только x86_64 вроде бы....
Тогда я пока потерплю, а дальше будет видно.

CMAKE_OSX_ARCHITECTURES=ppc;i

CMAKE_OSX_ARCHITECTURES=ppc;i386;ppc64;x86_64

Не используете CMake (http://blog.lexa.ru/2010/11/11/libraw_0112.html#comment-13606) ? почему?

Зачем XCode, только для сборки?
Если именно как IDE - посмотрите QTCreator - http://blog.lexa.ru/2011/07/17/linux_vs_freebsd.html#comment-18893 .

Мой варез собирается CMake'ом на Windows/Linux/MacOS без проблем. Причём там есть и QT проекты.

Такое в первый раз вижу. Но соглашайся, да!

Такое в первый раз вижу.
Но соглашайся, да!

http://s019.radikal.ru/i619/1203/59/fc3e5ed7f56f.jpg всё пр

http://s019.radikal.ru/i619/1203/59/fc3e5ed7f56f.jpg

всё правильно?

проще всего использовать

проще всего использовать стандартный студийный инсталятор (не installshield). он делает и msi и setup.exe к нему и все зависимости рядом кладет. потом можно 7z все собрать в один файл для полной версии и отдавать msi, если надо поставить только новую версию.

Именно. Но не работает только

Именно. Но не работает только часть, причем понятно что, почему и как.

> Маковская версия уже

> Маковская версия уже собирается, но еще не работает.

"уже мажется но но есть еще нельзя"

А все-таки x86_x64 будет ли работать на старом МакМини (проц

А все-таки x86_x64 будет ли работать на старом МакМини (процессор 64-bit capable, графика - интел).

А то вот стращают, что с интеловской графикой отдельная засада...

Динамические и статические библиотеки тоже бывают несколькоа

Динамические и статические библиотеки тоже бывают несколькоархитектурными. При желании вполне можно одновременно сделать i386, x86_64, ppc и ppc64 :-)

Это то я прочитал уже. Но. Вот есть Qt 4.8.0, которая <a hr

Это то я прочитал уже.

Но. Вот есть Qt 4.8.0, которая раздается в 64-битном виде

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

Начну с 64 бит, а там посмотрим.

Надо собирать Universal / Fat Binary с 32-битным и 64-битным

Надо собирать Universal / Fat Binary с 32-битным и 64-битным кодом внутри. Компилятор / линковщик понимает ключики "-arch 386 -arch x86_64". Указывать их надо оба одновременно, или в настройках проекта Xcode можно выбрать нужные архитектуры. Еще нужно не забыть про MACOSX_DEPLOYMENT_TARGET оно отвечает за минимальную версию ОС под которой программа будет запускаться. Тоже можно установить в настройках проекта.

Времени, на самом деле, ушло мало. Идею с манифестом мне под

Времени, на самом деле, ушло мало. Идею с манифестом мне подсказали, а попатчить его по живому и проверить - дело трех минут

О да. Я тут вчера впервые сделал деплой под Max OS X. Просто

О да.
Я тут вчера впервые сделал деплой под Max OS X. Просто запускаешь macdeplyoyqt -dmg - и получаешь работающий dmg. Удивительное дело.

Да, пока криво и косо, много чего не понимаю, но оно натурально проще, чем под виндой.

Как много нам открытий чудных готовит виндоуз-сэвэн дух? :)

Как много нам открытий чудных готовит виндоуз-сэвэн дух? :)

Аплодирую упорству :)

Аплодирую упорству :)

Как много я не знаю и как бы я хотел этого всего не знат

User referenced to your post from Как много я не знаю и как бы я хотел этого всего не знать saying: [...] ...сказал Тутубалин в каментах к этому посту: http://alextutubalin.livejournal.com/292695.html [...]

> Как много я не знаю и как бы я хотел этого всего не знать.

> Как много я не знаю и как бы я хотел этого всего не знать.

Это очень мудрые слова. Фактически мой девиз как профессионального программиста.

Да, про IE9 low-rights sandbox - жОстко. Как много я не знаю

Да, про IE9 low-rights sandbox - жОстко. Как много я не знаю и как бы я хотел этого всего не знать.

Оно - очевидно - недоделано, хотя там осталось дел на 5 мину

Оно - очевидно - недоделано, хотя там осталось дел на 5 минут (+ еще нужно знание дельфи и компилятор, у меня оба предмета отсутствуют).

Т.е. в xml-ке уже оставлено место, где можно попатчить, осталось эту патчилку прикрутить в зависимости от настроек RequiredPrivileges (или PrivilegesRequired, никак не могу запомнить).

Но так как я пока ставлюсь в Program Files, т.е. права мне нужны (и defaults - годятся), я попатчил бинарно прямо по живому.

Вот тут инносетапцы пишут, что это всё intentional, чтоб чег

Вот тут инносетапцы пишут, что это всё intentional, чтоб чего-то работало:
http://news.jrsoftware.org/news/innosetup/msg93060.html

Спасибо, интересно и полезно.

Спасибо, интересно и полезно.

в макосе нет "битности ОС" там "есть" "битность ядра", незав

в макосе нет "битности ОС"
там "есть" "битность ядра", независимо от которой твой варез вроде бы должен работать

кроме старых макмини (не только соло, но и "коре НЕ 2 дуо" вылетает очень немного старых макбуков

Ну вот Xcode 4.3 (на другой машине) мне накачал миллиард вся

Ну вот Xcode 4.3 (на другой машине) мне накачал миллиард всяких SDK для 10.5, 10.6 и так далее (а 10.4, честное слово, меня не волнует).

Подозреваю, он умеет собрать под точно указанную платформу.

Сколь я понимаю, MacOSX использует Symbol Versioning, так чт

Сколь я понимаю, MacOSX использует Symbol Versioning, так что работать будет начиная с той версии MacOSX, для которой подходят все используемые библиотеки, плюс все более поздние.

64-битные библиотеки точно есть в Lion Leopard, а вот есть ли в Tiger, не помню.

А всякие redistributables и

А всякие redistributables и прочие DX9 - не ставит ведь сам, как нам тут пишут ниже?

Мне они в настоящий момент без надобности, но это же не навсегда.

Pages

Subscribe to comments_recent_new