Russian Qt Forum
Ноябрь 22, 2024, 13:08
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Компиляторы и платформы
>
Mac OS X
>
Xcode IDE
Страниц: [
1
]
2
3
...
5
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Xcode IDE (Прочитано 50605 раз)
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Xcode IDE
«
:
Октябрь 11, 2014, 10:29 »
Добрый день
Переползаю на Xcode 4.6.2 (хоть и не самый новый). Ну помаленьку руки привыкают, работать можно, но есть ряд заморочек.
- как линковать статик либу? Можно просто добавить в проект, но тогда придется вручную переключать файл либы для Debug/Release. Можно вбить полный путь либы в "Other Linker Flags", один файл для Debug, др. для Release - и с переключением нет проблем. Но тут др беда - измененная либа "не подхватывается".
Напр изменил я что-то в либе, нажимаю Run. Вроде все норм - измененный файл перкомпилился, либа пересоздалась, потом пересоздалось приложение, это видно и в логе и по дате .а файла. Но на выполнении изменений в коде нет - видно в ассемблере
Конечно после Build All они появляются, но так не разгонишься.
ЧЯДНТ?
Спасибо
Записан
kambala
Джедай : наставник для всех
Online
Сообщений: 4747
Re: Xcode IDE
«
Ответ #1 :
Октябрь 11, 2014, 14:38 »
Цитировать
Но тут др беда - измененная либа "не подхватывается".
может надо ее в Dependencies засунуть?
кстати 4.6.3 же самая последняя версия из линейки 4-ки
Записан
Изучением C++ вымощена дорога в Qt.
UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: Xcode IDE
«
Ответ #2 :
Октябрь 11, 2014, 16:22 »
Цитата: kambala от Октябрь 11, 2014, 14:38
Цитировать
Но тут др беда - измененная либа "не подхватывается".
может надо ее в Dependencies засунуть?
Project -> Build Phases. Здесь 2 возможности
а) Target Dependencies "свиток" - туда добавлен проект статик либы (но не сама .а), и это работает - она проверяется и, если надо, перекомпилируется
b) Link Binary With Libraries - так опять же там я могу добавить .a файл или Debug или Release - но не оба вместе
Цитата: kambala от Октябрь 11, 2014, 14:38
кстати 4.6.3 же самая последняя версия из линейки 4-ки
Та вроде там уже пятерка - но пока здоровье не позволяет
Записан
kambala
Джедай : наставник для всех
Online
Сообщений: 4747
Re: Xcode IDE
«
Ответ #3 :
Октябрь 11, 2014, 16:44 »
а) ну так... работает же? я это и имел в виду.
Цитата: Igors от Октябрь 11, 2014, 16:22
Цитата: kambala от Октябрь 11, 2014, 14:38
кстати 4.6.3 же самая последняя версия из линейки 4-ки
Та вроде там уже пятерка - но пока здоровье не позволяет
6
Записан
Изучением C++ вымощена дорога в Qt.
UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: Xcode IDE
«
Ответ #4 :
Октябрь 11, 2014, 18:22 »
Цитата: kambala от Октябрь 11, 2014, 16:44
а) ну так... работает же? я это и имел в виду.
К сожалению нет. Да, либы перекомпилируются, но в исполняемый файл почему-то не всасываются - там сидит старый код до тех пор пока не сделаю Build All (ну то есть "Clean")
Записан
kambala
Джедай : наставник для всех
Online
Сообщений: 4747
Re: Xcode IDE
«
Ответ #5 :
Октябрь 11, 2014, 18:57 »
в качестве временной меры можно добавить run script phase в самое начало и удалять существующую либу.
б) можно попробовать схитрить через символическую ссылку, которая будет создаваться через run script phase.
в качестве альтернативной меры можно попробовать создать таргет-дубликат специально для релиз версии.
Записан
Изучением C++ вымощена дорога в Qt.
UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: Xcode IDE
«
Ответ #6 :
Октябрь 12, 2014, 08:00 »
Цитата: kambala от Октябрь 11, 2014, 18:57
в качестве временной меры можно добавить run script phase в самое начало и удалять существующую либу.
б) можно попробовать схитрить через символическую ссылку, которая будет создаваться через run script phase.
Так а что это дает если и так новый .a файл прекрасно создается? Беда в том что к приложению он почему-то не линкуется - код остается как был.
Цитата: kambala от Октябрь 11, 2014, 18:57
в качестве альтернативной меры можно попробовать создать таргет-дубликат специально для релиз версии.
Ой, лучше не надо, если установки "разбегутся" - придется долго пыль глотать.
Ну ладно, не умру, пока попереключаю либы или перед релизом буду делать Clean, это не так уж часто. Не все должно иметь простой ответ.
-----------
Следующая позиция - часто не работает "Issues Navigator". При клике на ошибку не позиционирует на нее в файле, при двойном клике открывает файл и просто ставит на начало. Если потом файл полистать - красные бубочки ошибок появляются, но видимо это рез-т проверки в idle. Не в курсе про этот невдобняк?
Спасибо
Записан
kambala
Джедай : наставник для всех
Online
Сообщений: 4747
Re: Xcode IDE
«
Ответ #7 :
Октябрь 12, 2014, 13:41 »
Цитата: Igors от Октябрь 12, 2014, 08:00
Цитата: kambala от Октябрь 11, 2014, 18:57
в качестве временной меры можно добавить run script phase в самое начало и удалять существующую либу.
б) можно попробовать схитрить через символическую ссылку, которая будет создаваться через run script phase.
Так а что это дает если и так новый .a файл прекрасно создается? Беда в том что к приложению он почему-то не линкуется - код остается как был.
чтобы
Цитата: Igors от Октябрь 11, 2014, 10:29
Можно вбить полный путь либы в "Other Linker Flags", один файл для Debug, др. для Release - и с переключением нет проблем.
вбивается путь к ссылке в обе конфигурации, а ссылка будет генерироваться с учетом текущей конфигурации (эта переменная, как и множество других, доступна при run script phase)
Следующая позиция: наверное баг 4-й версии, в 5-6 проблем не замечал.
а что мешает сразу скакнуть на версию повыше? необходимость в старом сдк?
Записан
Изучением C++ вымощена дорога в Qt.
UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: Xcode IDE
«
Ответ #8 :
Октябрь 12, 2014, 14:53 »
Цитата: kambala от Октябрь 12, 2014, 13:41
вбивается путь к ссылке в обе конфигурации, а ссылка будет генерироваться с учетом текущей конфигурации (эта переменная, как и множество других, доступна при run script phase)
Не знаю можно ли так в "Other Linker Flags", но это не актуально, там есть выбор Debug/Release и я могу вбить для каждого - но так он "не линкует". А добавлять файл либы в проект - линкует, но имя добавленного не может быть макро
Цитата: kambala от Октябрь 12, 2014, 13:41
Следующая позиция: наверное баг 4-й версии, в 5-6 проблем не замечал.
а что мешает сразу скакнуть на версию повыше? необходимость в старом сдк?
Да. Плюс неизвестно потянут ли новые icc 13(тоже староват). Не в курсе новые поддерживают OSX 10.7?
Записан
kambala
Джедай : наставник для всех
Online
Сообщений: 4747
Re: Xcode IDE
«
Ответ #9 :
Октябрь 12, 2014, 18:56 »
в гугле пишут, что Other Linker Flags работает. но может это для «раз скомпилил библиотеку и забыл».
Цитата: Igors от Октябрь 12, 2014, 14:53
Цитата: kambala от Октябрь 12, 2014, 13:41
Следующая позиция: наверное баг 4-й версии, в 5-6 проблем не замечал.
а что мешает сразу скакнуть на версию повыше? необходимость в старом сдк?
Да. Плюс неизвестно потянут ли новые icc 13(тоже староват). Не в курсе новые поддерживают OSX 10.7?
старый сдк можно просто скопировать из старой версии Xcode (ну или символическую ссылку сделать, если будут оба хкода стоять).
про icc ничего не скажу, но не вижу почему иде не должна работать с рабочим компилятором.
в Xcode 5 доступны 10.8 и 10.9 сдк, в 6 — 10.9 и 10.10 (последний сдк есть если работать в йосмите).
Записан
Изучением C++ вымощена дорога в Qt.
UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: Xcode IDE
«
Ответ #10 :
Октябрь 12, 2014, 21:32 »
Цитата: kambala от Октябрь 12, 2014, 18:56
старый сдк можно просто скопировать из старой версии Xcode (ну или символическую ссылку сделать, если будут оба хкода стоять).
про icc ничего не скажу, но не вижу почему иде не должна работать с рабочим компилятором.
Вот так просто?
Собственно мне нужен SDK 10.6 т.к. (пока) поддерживаются старые структуры GWorldPtr и др. В 10.7 я это впихнул - но с большим трудом.
Записан
kambala
Джедай : наставник для всех
Online
Сообщений: 4747
Re: Xcode IDE
«
Ответ #11 :
Октябрь 12, 2014, 23:20 »
да
как-то пробовал с 10.5 сдк.
Записан
Изучением C++ вымощена дорога в Qt.
UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: Xcode IDE
«
Ответ #12 :
Октябрь 14, 2014, 18:12 »
Уже смирился с неудобством - и тут случайно нашел как удобно подключить либы! Откомпиленные .a файлы появляются в папке/мамке Products, вот там им надо поставить memnership. Тогда если проект приложения переключается то пути сами подставляются. Правда надо иметь одно имя либы для Debug/Release
Записан
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: Xcode IDE
«
Ответ #13 :
Октябрь 15, 2014, 16:45 »
Следующая позиция
Цитата: kambala от Октябрь 12, 2014, 18:56
про icc ничего не скажу, но не вижу почему иде не должна работать с рабочим компилятором.
Вот как раз нужно подключить рабочий компилятор
Расклад такой:
- приложение 64-бит слинкованное в Xcode крашится, но сборка через cmake работает. Сравнил логи как компилируется там и сям, единственная существенная разница - Xcode запускает компилятор icc, а cmale - icpc. Оба стоят, но как сказать Xcode использовать icpc? А попапке есть только "Intel." и все (как в Build Settings так и в Build Rules). Порыскав по файлам вижу что компиляторы подключаются как плагины, файлы .xcplugin. но для intel этого файла нет. Попытка ввести др идентификатор в "Other.." (напр com.intel.compilers.icpc.13_0_0) конечно не проходит. Шо делать?
Записан
kambala
Джедай : наставник для всех
Online
Сообщений: 4747
Re: Xcode IDE
«
Ответ #14 :
Октябрь 16, 2014, 13:21 »
если в документации к компилятору или xcode никакой информации не содержится, то можно попробовать хаки с символическими ссылками или с алиасами.
а эти xcplugin файлы можно редактировать или свои создавать?
Записан
Изучением C++ вымощена дорога в Qt.
UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Страниц: [
1
]
2
3
...
5
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...