Russian Qt Forum

Компиляторы и платформы => Mac OS X => Тема начата: Igors от Октябрь 11, 2014, 10:29



Название: Xcode IDE
Отправлено: Igors от Октябрь 11, 2014, 10:29
Добрый день

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

- как линковать статик либу? Можно просто добавить в проект, но тогда придется вручную переключать файл либы для Debug/Release. Можно вбить полный путь либы в "Other Linker Flags", один файл для Debug, др. для Release - и с переключением нет проблем. Но тут др беда - измененная либа "не подхватывается".

Напр изменил я что-то в либе, нажимаю Run. Вроде все норм - измененный файл перкомпилился, либа пересоздалась, потом пересоздалось приложение, это видно и в логе и по дате .а файла. Но на выполнении изменений в коде нет - видно в ассемблере :'( Конечно после Build All они появляются, но так не разгонишься.

ЧЯДНТ?

Спасибо


Название: Re: Xcode IDE
Отправлено: kambala от Октябрь 11, 2014, 14:38
Цитировать
Но тут др беда - измененная либа "не подхватывается".
может надо ее в Dependencies засунуть?

кстати 4.6.3 же самая последняя версия из линейки 4-ки


Название: Re: Xcode IDE
Отправлено: Igors от Октябрь 11, 2014, 16:22
Цитировать
Но тут др беда - измененная либа "не подхватывается".
может надо ее в Dependencies засунуть?
Project -> Build Phases. Здесь 2 возможности

а) Target Dependencies "свиток" - туда добавлен проект статик либы (но не сама .а), и это работает - она проверяется и, если надо, перекомпилируется

b) Link Binary With Libraries - так опять же там я могу добавить .a файл или Debug или Release - но не оба вместе

кстати 4.6.3 же самая последняя версия из линейки 4-ки
Та вроде там уже пятерка - но пока здоровье не позволяет


Название: Re: Xcode IDE
Отправлено: kambala от Октябрь 11, 2014, 16:44
а) ну так... работает же? я это и имел в виду.
кстати 4.6.3 же самая последняя версия из линейки 4-ки
Та вроде там уже пятерка - но пока здоровье не позволяет
6 ;)


Название: Re: Xcode IDE
Отправлено: Igors от Октябрь 11, 2014, 18:22
а) ну так... работает же? я это и имел в виду.
К сожалению нет. Да, либы перекомпилируются, но в исполняемый файл почему-то не всасываются - там сидит старый код до тех пор пока не сделаю Build All (ну то есть "Clean")  :'(


Название: Re: Xcode IDE
Отправлено: kambala от Октябрь 11, 2014, 18:57
в качестве временной меры можно добавить run script phase в самое начало и удалять существующую либу.

б) можно попробовать схитрить через символическую ссылку, которая будет создаваться через run script phase.

в качестве альтернативной меры можно попробовать создать таргет-дубликат специально для релиз версии.


Название: Re: Xcode IDE
Отправлено: Igors от Октябрь 12, 2014, 08:00
в качестве временной меры можно добавить run script phase в самое начало и удалять существующую либу.

б) можно попробовать схитрить через символическую ссылку, которая будет создаваться через run script phase.
Так а что это дает если и так новый .a файл прекрасно создается? Беда в том что к приложению он почему-то не линкуется - код остается как был.

в качестве альтернативной меры можно попробовать создать таргет-дубликат специально для релиз версии.
Ой, лучше не надо, если установки "разбегутся" - придется долго пыль глотать.

Ну ладно, не умру, пока попереключаю либы или перед релизом буду делать Clean, это не так уж часто. Не все должно иметь простой ответ.

-----------

Следующая позиция - часто не работает "Issues Navigator". При клике на ошибку не позиционирует на нее в файле, при двойном клике открывает файл и просто ставит на начало. Если потом файл полистать - красные бубочки ошибок появляются, но видимо это рез-т проверки в idle. Не в курсе про этот невдобняк?

Спасибо


Название: Re: Xcode IDE
Отправлено: kambala от Октябрь 12, 2014, 13:41
в качестве временной меры можно добавить run script phase в самое начало и удалять существующую либу.

б) можно попробовать схитрить через символическую ссылку, которая будет создаваться через run script phase.
Так а что это дает если и так новый .a файл прекрасно создается? Беда в том что к приложению он почему-то не линкуется - код остается как был.
чтобы
Можно вбить полный путь либы в "Other Linker Flags", один файл для Debug, др. для Release - и с переключением нет проблем.
вбивается путь к ссылке в обе конфигурации, а ссылка будет генерироваться с учетом текущей конфигурации (эта переменная, как и множество других, доступна при run script phase)

Следующая позиция: наверное баг 4-й версии, в 5-6 проблем не замечал.

а что мешает сразу скакнуть на версию повыше? необходимость в старом сдк?


Название: Re: Xcode IDE
Отправлено: Igors от Октябрь 12, 2014, 14:53
вбивается путь к ссылке в обе конфигурации, а ссылка будет генерироваться с учетом текущей конфигурации (эта переменная, как и множество других, доступна при run script phase)
Не знаю можно ли так в "Other Linker Flags", но это не актуально, там есть выбор Debug/Release и я могу вбить для каждого - но так он "не линкует". А добавлять файл либы в проект - линкует, но имя добавленного не может быть макро

Следующая позиция: наверное баг 4-й версии, в 5-6 проблем не замечал.

а что мешает сразу скакнуть на версию повыше? необходимость в старом сдк?
Да. Плюс неизвестно потянут ли новые icc 13(тоже староват). Не в курсе новые поддерживают OSX 10.7?


Название: Re: Xcode IDE
Отправлено: kambala от Октябрь 12, 2014, 18:56
в гугле пишут, что Other Linker Flags работает. но может это для «раз скомпилил библиотеку и забыл».
Следующая позиция: наверное баг 4-й версии, в 5-6 проблем не замечал.

а что мешает сразу скакнуть на версию повыше? необходимость в старом сдк?
Да. Плюс неизвестно потянут ли новые icc 13(тоже староват). Не в курсе новые поддерживают OSX 10.7?
старый сдк можно просто скопировать из старой версии Xcode (ну или символическую ссылку сделать, если будут оба хкода стоять).

про icc ничего не скажу, но не вижу почему иде не должна работать с рабочим компилятором.

в Xcode 5 доступны 10.8 и 10.9 сдк, в 6 — 10.9 и 10.10 (последний сдк есть если работать в йосмите).


Название: Re: Xcode IDE
Отправлено: Igors от Октябрь 12, 2014, 21:32
старый сдк можно просто скопировать из старой версии Xcode (ну или символическую ссылку сделать, если будут оба хкода стоять).

про icc ничего не скажу, но не вижу почему иде не должна работать с рабочим компилятором.
Вот так просто? :)  Собственно мне нужен SDK 10.6 т.к. (пока) поддерживаются старые структуры GWorldPtr и др.  В 10.7 я это впихнул - но с большим трудом.


Название: Re: Xcode IDE
Отправлено: kambala от Октябрь 12, 2014, 23:20
да :) как-то пробовал с 10.5 сдк.


Название: Re: Xcode IDE
Отправлено: Igors от Октябрь 14, 2014, 18:12
Уже смирился с неудобством - и тут случайно нашел как удобно подключить либы! Откомпиленные .a файлы появляются в папке/мамке Products, вот там им надо поставить memnership. Тогда если проект приложения переключается то пути сами подставляются. Правда надо иметь одно имя либы для Debug/Release


Название: Re: Xcode IDE
Отправлено: Igors от Октябрь 15, 2014, 16:45
Следующая позиция
про 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) конечно не проходит. Шо делать?


Название: Re: Xcode IDE
Отправлено: kambala от Октябрь 16, 2014, 13:21
если в документации к компилятору или xcode никакой информации не содержится, то можно попробовать хаки с символическими ссылками или с алиасами.

а эти xcplugin файлы можно редактировать или свои создавать?


Название: Re: Xcode IDE
Отправлено: Igors от Октябрь 16, 2014, 14:33
Нашел этот xcplugin файл, в отличие от остальных он не в bundle Xcode, а в Library/ApplicationSupport/и.т.д. Ну скопировал, подменил титул и путь (там что-то типа xml). В IDE он почему-то не появился, но из Other добавляется. Правда все это ничего не дало - с icpc крашится точно так же  :'( 


Название: Re: Xcode IDE
Отправлено: kambala от Октябрь 16, 2014, 23:16
на просторах инета предлагают ввести build rule для файлов, которые необходимо компилировать (.cpp полагаю) и вписать туда вызов нужной команды (icpc ...): http://stackoverflow.com/a/23420279


Название: Re: Xcode IDE
Отправлено: vipet от Октябрь 17, 2014, 12:07
так а почему все время через CMake не работать? я так делаю


Название: Re: Xcode IDE
Отправлено: Igors от Октябрь 17, 2014, 16:27
на просторах инета предлагают ввести build rule для файлов, которые необходимо компилировать (.cpp полагаю) и вписать туда вызов нужной команды (icpc ...): http://stackoverflow.com/a/23420279
Так а как я передам туда тонну параметров установленных в IDE?

так а почему все время через CMake не работать? я так делаю
Ну вот первая задача которую мне нужно сделать с этими open-source: добавить индикатор прогресса и среагировать на Cancel. (что кстати далеко не просто в multi-threaded) Т.е. надо активно дебажить, менять код, смотреть, опять менять и.т.д.  (С)CMake работает классно, но для этого не подходит


Название: Re: Xcode IDE
Отправлено: Old от Октябрь 17, 2014, 17:53
CMake работает классно, но для этого не подходит
Почему? :)


Название: Re: Xcode IDE
Отправлено: vipet от Октябрь 17, 2014, 18:07
так а почему все время через CMake не работать? я так делаю
Ну вот первая задача которую мне нужно сделать с этими open-source: добавить индикатор прогресса и среагировать на Cancel. (что кстати далеко не просто в multi-threaded) Т.е. надо активно дебажить, менять код, смотреть, опять менять и.т.д.  (С)CMake работает классно, но для этого не подходит

ниче не понял.. ЦМэйк сгенерил корректный проект, далее с ним работаем. Если меняется проект (добавляются/удаляются файлы исходников, связи между либами и аппами проекта, ресурсы, ...), то меняем в CMakeLists'ах и генерим .xcodeproj опять и далее с ним работаем


Название: Re: Xcode IDE
Отправлено: kambala от Октябрь 17, 2014, 18:48
на просторах инета предлагают ввести build rule для файлов, которые необходимо компилировать (.cpp полагаю) и вписать туда вызов нужной команды (icpc ...): http://stackoverflow.com/a/23420279
Так а как я передам туда тонну параметров установленных в IDE?
все параметры должны быть доступны по идее: на СО же вписали ${DERIVED_FILE_DIR} ${SCRIPT_INPUT_FILE}


Название: Re: Xcode IDE
Отправлено: Igors от Октябрь 18, 2014, 11:42
ниче не понял.. ЦМэйк сгенерил корректный проект, далее с ним работаем. Если меняется проект (добавляются/удаляются файлы исходников, связи между либами и аппами проекта, ресурсы, ...), то меняем в CMakeLists'ах и генерим .xcodeproj опять и далее с ним работаем
Так и было, все начиналось ccmake -G Xcode .. проблемы возникают в созданном проекте. А не генерировать проект (ccmake ..) все "собирается" и работает, но не устраивает по причинам выше.

все параметры должны быть доступны по идее: на СО же вписали ${DERIVED_FILE_DIR} ${SCRIPT_INPUT_FILE}
А кто такой "СО"? :)  И плагин компилятора предлагает в IDE свои ключи, откуда их взять для скрипта? Ну и допустим как-то можно, а как потом с навигацией на ошибки?


Название: Re: Xcode IDE
Отправлено: kambala от Октябрь 18, 2014, 14:46
SO=stackoverflow (см. ссылку выше)
И плагин компилятора предлагает в IDE свои ключи, откуда их взять для скрипта?
прописать те же ключи, что и в плагине? :) строка вызова компилятора со всеми параметрами видна же в логе.


Название: Re: Xcode IDE
Отправлено: Igors от Октябрь 19, 2014, 08:52
прописать те же ключи, что и в плагине? :) строка вызова компилятора со всеми параметрами видна же в логе.
Видна-то видна, так что, я буду это руками делать для каждого cpp файла?  :) 


Название: Re: Xcode IDE
Отправлено: Igors от Октябрь 19, 2014, 12:23
Следующая позиция

Есть файлы .ispc и .isph, их надо активно редактировать, нужна подсветка сынтаксыса как в плюсах. Ладно, погуглил, вроде в Xcode такого нет, но есть такой workaround (http://stackoverflow.com/questions/9050035/how-to-make-xcode-recognize-a-custom-file-extension-as-objective-c-for-syntax-hi). Понял что надо просто создать приложение (любое) которое открывает мои файлы так же как плюсовые (те же UTI) - тогда их и Xcode поймет. Сделал по инструкции, взял UTI отсюда (https://developer.apple.com/library/mac/documentation/miscellaneous/Reference/UTIRef/Articles/System-DeclaredUniformTypeIdentifiers.html), но как "зарегистрироваться"? Сделал
lsregister <имя приложения>
Xcode "не понял" и ничего не подсвечивает. Делаю lsregister -dump. Тег есть но почему-то неактивен
Цитировать
   type   id:            30808
      uti:           public.c-header
      description:   
      flags:         exported  inactive  trusted 
      icon:         
      conforms to:   public.source-code
      tags:          .isph
Прочитал 2 раза help по lsregister, но так и не понял - шо набирать?  :)
Цитировать
lsregister: [OPTIONS] [ <path>... ]

                      [ -apps <domain>[,domain]... ]

                      [ -libs <domain>[,domain]... ]

                      [ -all  <domain>[,domain]... ]

 

Paths are searched for applications to register with the Launch Service database.

Valid domains are "system", "local", "network" and "user". Domains can also

be specified using only the first letter.

 

  -kill     Reset the Launch Services database before doing anything else

  -seed     If database isn't seeded, scan default locations for applications and libraries to register

  -lint     Print information about plist errors while registering bundles

  -convert  Register apps found in older LS database files

  -lazy n   Sleep for n seconds before registering/scanning

  -r        Recursive directory scan, do not recurse into packages or invisible directories

  -R        Recursive directory scan, descending into packages and invisible directories

  -f        force-update registration even if mod date is unchanged

  -u        unregister instead of register

  -v        Display progress information

  -dump     Display full database contents after registration

  -h        Display this help
ЧЯДНТ?

Спасибо


Название: Re: Xcode IDE
Отправлено: kambala от Октябрь 19, 2014, 14:27
прописать те же ключи, что и в плагине? :) строка вызова компилятора со всеми параметрами видна же в логе.
Видна-то видна, так что, я буду это руками делать для каждого cpp файла?  :)  
build rule разве не ко всем файлам одного типа применяется?..

по второму: ЮТИ для плюсов ведь public.c-plus-plus-source, как указано в комментарии к ответу на СО. для регистрации достаточно запустить фейковое приложение и перезапустить хкод, судя по ответу. вечером сам попробую это проделать.


Название: Re: Xcode IDE
Отправлено: Igors от Октябрь 19, 2014, 14:40
build rule разве не ко всем файлам одного типа применяется?..
Согласен, но все равно "неродное". Debug/Release делать 2 скрипта? Изменил что-то в IDE - лезть править скрипт(ы)? Ладно, проехали, icpc мне все равно не помог

по второму: ЮТИ для плюсов ведь public.c-plus-plus-source,
У меня была попытка с хедером (.ispg как .h)


Название: Re: Xcode IDE
Отправлено: Igors от Октябрь 19, 2014, 17:08
Пытаюсь зарядить скрыпты в Build Phase, таке питаннячко:

myfile.make$CONFIGURATION$ARCHS  // нормально,  myfile.makeDebugx86_64
myfile.make$CONFIGURATION_$ARCHS  // а так не выходит, нет CONFIGURATION_
myfile.make$(CONFIGURATION)$ARCHS  // так тоже почему-то неверно

Т.е. как сказать что подстановка закончена и пошел обычный текст?
Спасибо   


Название: Re: Xcode IDE
Отправлено: kambala от Октябрь 19, 2014, 18:57
${VAR}


Название: Re: Xcode IDE
Отправлено: kambala от Октябрь 19, 2014, 21:46
по второму: ЮТИ для плюсов ведь public.c-plus-plus-source, как указано в комментарии к ответу на СО. для регистрации достаточно запустить фейковое приложение и перезапустить хкод, судя по ответу. вечером сам попробую это проделать.
у меня все получилось (тестировал на свежем xcode и 10.9.5). список шагов указан тут: http://stackoverflow.com/a/24727211


Название: Re: Xcode IDE
Отправлено: Igors от Октябрь 20, 2014, 13:48
Случайно удалил свой предыдущий пост
${VAR}
А, скобка-то фигурная, не увидел. Спасибо
у меня все получилось (тестировал на свежем xcode и 10.9.5). список шагов указан тут: http://stackoverflow.com/a/24727211
А как регистрироваться? Просто lsregister с именем файла? И что за тег должен быть?


Название: Re: Xcode IDE
Отправлено: kambala от Октябрь 20, 2014, 14:46
для регистрации достаточно запустить фейковое приложение и перезапустить хкод
никаких вызовов lsregister не надо, все произойдет «по волшебству» :)


Название: Re: Xcode IDE
Отправлено: Igors от Октябрь 27, 2014, 09:51
Следующая позиция

Как-то он хочет делать все в текущем окне, что не очень удобно. Пример: вот я подправил исходник и нажал Cmd+R, перекомпилилось и запустилось. Хорошо, но при этом окно (где был исходник) уже стало (в меню окон) "Build <Project>".  Отлаживаюсь, конечно останавливаюсь на breakpoint'ах. В итоге первоначальный исходник уже нигде не показывается, и мне надо его пере-открывать. После неск запусков у меня в меню торчит с десяток "Build" :) Можно ли как-то сказать чтобы для дебага (и ошибок компиляции) открывались свои окна, а уже открытые окна исходников не трогались?

Спасибо


Название: Re: Xcode IDE
Отправлено: kambala от Октябрь 27, 2014, 15:07
после возобновления работы программы от брейкпоинта можно нажать Назад (или соответсвующий жест) и откроется старый исходник.

еще можно просто новое окно открыть специально для дебага :)


Название: Re: Xcode IDE
Отправлено: Igors от Октябрь 28, 2014, 11:05
после возобновления работы программы от брейкпоинта можно нажать Назад (или соответсвующий жест) и откроется старый исходник.

еще можно просто новое окно открыть специально для дебага :)
Все так, но приходится каждый раз переключаться на др окно перед билдом. Мелочь конечно, но неудобно, постоянно забываю. Смотрел в "Behaviour" но не нашел.


Название: Re: Xcode IDE
Отправлено: Igors от Декабрь 26, 2014, 11:29
Добрый день

Есть Xcode проект который не был создан с помощью qmake, надо добавить генерацию moc'ов. Добавить custom script и там написать moc <src> <dst> - все работает, но чертовски утомительно добавлять каждый новый хедер руками.

Ладно, создал Xcode проект для одного из example и посмотрел. Да, там есть скрипт, но он юзает *.mak файлы (из банды проекта), без них не работает - а откуда мне их взять в старом проекте? Пока нашел только это (https://qt.gitorious.org/qt/tavestbos-qtbase/commit/910573f8e6d9230cb62cb5b2e31e556e67e114a7). Ну перенесли в separate target, ну молодцы - но как же это добавить?

Спасибо


Название: Re: Xcode IDE
Отправлено: kambala от Декабрь 26, 2014, 15:17
в настройках проекта можно зависимости добавлять (dependencies) — туда и добавить новый таргет. в Xcode 4+ это находится во вкладке Build Steps.


Название: Re: Xcode IDE
Отправлено: Igors от Декабрь 26, 2014, 15:30
в настройках проекта можно зависимости добавлять (dependencies) — туда и добавить новый таргет. в Xcode 4+ это находится во вкладке Build Steps.
Так а что с того проекта? Там скрипт которому нужны *.mak файлы - а их у меня нет

Следующая позиция: переползаю с gcc на clang и получил под дых: clang не держит OpenMP  :'( :'( :'(
Нашел это (http://clang-omp.github.io/), но это опять нырять с чан с командной строкой  :'( :'(


Название: Re: Xcode IDE
Отправлено: kambala от Декабрь 26, 2014, 15:56
1. с генерацией моцов проблем уже нет я так понимаю
2. ну а шо делать, жизнь вообще сложная штука :)


Название: Re: Xcode IDE
Отправлено: Igors от Декабрь 27, 2014, 15:17
1. с генерацией моцов проблем уже нет я так понимаю
Ну как, временное решение. Это moc'и либы, они меняться не будут.

Следующая позиция.
В конце-концов поперся я на какаву с objective. Подкинул хедерок
Код:
#include <Cocoa/Cocoa.h>
Не тут-то было, сразу заверещал на
Код:
@class NSString, Protocol;

FOUNDATION_EXPORT NSString *NSStringFromSelector(SEL aSelector);
Цитировать
../NSObjCRuntime.h:409:1: Expected unqualified-id
../NSObjCRuntime.h:411:19: Unknown type name 'NSString'
Проверил __OBJC__ выкл. Наверное .m (.mm) файлы компилить будет, но из .с (.cpp) никак? Т.е. это нормально?




Название: Re: Xcode IDE
Отправлено: kambala от Декабрь 28, 2014, 00:22
#import <Cocoa/Cocoa.h> вроде предпочтительно

.c/.cpp переименовать в .m/.mm


Название: Re: Xcode IDE
Отправлено: Igors от Декабрь 28, 2014, 13:20
#import <Cocoa/Cocoa.h> вроде предпочтительно

.c/.cpp переименовать в .m/.mm
То ясно - ведь компилил же он mm файлы Qt. Но "просто так" иметь Objective код (напр класс) из cpp нельзя? Оттуда можно видеть только то что совпадает с C/С++ по синтаксису, правильно?


Название: Re: Xcode IDE
Отправлено: kambala от Декабрь 28, 2014, 14:14
да. ну либо играться с компиляторными флагами для конкретных файлов (принудительно задать, что этот файл содержит objc++), если такая опция поддерживается.


Название: Re: Xcode IDE
Отправлено: Igors от Январь 05, 2015, 15:44
Следующая позиция: Qt 5.4 debug собрано динамически, на dylib'ах. Когда я из приложения иду по шагам в отладчике - все норм, я попадаю в нутро Qt. вижу переменные и.т.д. Но часто бывает нужно сначала найти место в исходниках и поставить там breakpoint. Это не работает, напр открыл qobject.cpp а он в меню Window показался отдельно (как будто "вне проекта", посторонка). Ставлю там break. Бубочка появляется, но в списке breakpoint его нет, и никто там не останавливается  :'(


Название: Re: Xcode IDE
Отправлено: kambala от Январь 05, 2015, 17:58
возможно, нужно добавлять этот брейкпоинт через Add Symbolic Beakpoint


Название: Re: Xcode IDE
Отправлено: Igors от Январь 06, 2015, 06:39
Разобрался: в открытом файле (что вне проекта) включить навигатор (левую панель). Поставить breakpoint, она появится в навигаторе. Там кликнуть на breakpoint и в контекстуальном меню выбрать "Move Breakpoint to" > User. Тогда breakpoint появится и в проекте. Несколько заумно сделано  :)


Название: Re: Xcode IDE
Отправлено: Igors от Февраль 10, 2015, 13:13
Следующая позиция: auto-complete при редактировании текста - хорошая вещь, но есть свои зехерты. напр у меня есть неск переменных отличающихся "хвостом", напр

windowScaleX
windowScaleY
windowScaleMin

Когда набираю "wind" она предлагает не тот вариант что надо, в итоге редактирование не ускоряется а тормозится. Для методов выпадает попап, но для переменных нет. Может есть какая "волшебная клавиша"?

Спасибо


Название: Re: Xcode IDE
Отправлено: kambala от Февраль 10, 2015, 17:34
волшебная клавиша - эскейп


Название: Re: Xcode IDE
Отправлено: Igors от Февраль 11, 2015, 09:51
волшебная клавиша - эскейп
Она убирает все, а хотелось бы "по частям". Тот же пример выше

windowScaleX
windowScaleY
windowScaleMin

Ввел "wind", предлагает напр windowScaleX. Хорошо было бы иметь возможность прыгнуть на "windowScale" и продолжить ручной ввод. А с Esc приходится добирать "оwScale"


Название: Re: Xcode IDE
Отправлено: kambala от Февраль 11, 2015, 16:17
аааааа, табуляция. эскейп принудительно вызывает попап.


Название: Re: Xcode IDE
Отправлено: Igors от Февраль 12, 2015, 14:18
аааааа, табуляция. эскейп принудительно вызывает попап.
Да, бычит! Правда у меня не попап а переводит на следующее слово (как Ctl + right arrow при нормальном наборе) - но тоже хорошо. Спасибо

Следующая позиция. Хотелось бы "как раньше" - начал компилировать, показывается окно билда где выводятся ошибки, месяги и др. А тут да, переключиться на build можно, сделал, но там "все билды" (в левой панели) и показывается окно для выбранного (в правой панели), которое уже ничему не соответствует. Приходится выбирать последний - лишние движения. Как это переключить автоматом?

Также тех билдов (логов) получается огромное кол-во, а нужно 2-3, и то редко, обычно только последний. Я могу очистить старые билды в orgamizer'е, но это не оперативно. Как сказать ему чтобы показывал N последних логов?

Спасибо


Название: Re: Xcode IDE
Отправлено: kambala от Февраль 12, 2015, 18:31
в cmd+4 (issue navigator в Xcode 5 и выше) показываются предупреждения и ошибки текущего билда. еще можно настроить всякие действия в Preferences - Behaviors.


Название: Re: Xcode IDE
Отправлено: Akon от Март 17, 2015, 08:34
Друзья, порекомендуйте плз хороший и детальный мануал по Xcode 5. Мне нужно отладить приложение и плотно работать с отладчиком.


Название: Re: Xcode IDE
Отправлено: Igors от Март 17, 2015, 11:09
Друзья, порекомендуйте плз хороший и детальный мануал по Xcode 5. Мне нужно отладить приложение и плотно работать с отладчиком.
Я на 4.6, поэтому только общие рекомендации. Мануал там же, в меню Help. Начать лучше сделав проект Xcode с помощью qmake. Ознакомиться с "Build Settings" - вначале пугает, но потом все норм. Отладчик - увы, не фонтан. Просмотр контейнеров всегда был проблемой. Ну в целом - вполне, идеальных IDE не существует


Название: Re: Xcode IDE
Отправлено: kambala от Март 17, 2015, 12:32
Друзья, порекомендуйте плз хороший и детальный мануал по Xcode 5. Мне нужно отладить приложение и плотно работать с отладчиком.

все визуальные штучки сидят в меню Debug (например, поставить/убрать брейкпоинт - Cmd+\), остальное - мануал клэнга


Название: Re: Xcode IDE
Отправлено: Igors от Март 17, 2015, 19:08
Следующая позиция:

Комбинация Ctl + Cmd + up arrow переключает исходник/хедер. Но нередко бывает что содержательный хедер с суффиксом _p (напр MyClass.cpp и MyClass_p.h). Никак нельзя натравить переключатель на него?

Спасибо


Название: Re: Xcode IDE
Отправлено: kambala от Март 17, 2015, 20:59
самого напрягает.

можно написать свой плагин :)


Название: Re: Xcode IDE
Отправлено: Akon от Март 18, 2015, 07:48
Спасибо.

Ctl + Cmd + up arrow - отлично, буду знать. А где это комбинация и ей подобные освещены (подписи в пунктах меню, мануал)?

Скачал pdf. Называется "Xcode 5 Overview". Кратко описывает основные функции Xcode. Прочитал раздел отладки - действительно, довольно скудные возможности. Как я понимаю, из IDE есть консоль к GDB, т.е. можно работать с ним напрямую.


Название: Re: Xcode IDE
Отправлено: kambala от Март 18, 2015, 12:33
комбинации клавиш - подписи в меню и целый раздел в настройках.

да, при запуске с дебаггером и остановке на брейкпоинте можно "общаться" с gdb/lldb в консоли (Cmd+Shift+C)


Название: Re: Xcode IDE
Отправлено: Igors от Март 23, 2015, 12:02
Следующая позиция: никак не могу толком разобраться с окнами. Впрочем это было со всем версиями :) Проблема в том что IDE каким-то образом открывает один файл снова и снова. Через 10-15 минут работы уже десятка 2 окон, во многих из которых тот же файл. Приходится закрывать ненужные, что конечно не смертельно, но зачем лишние движения?

Спасибо


Название: Re: Xcode IDE
Отправлено: kambala от Март 23, 2015, 12:18
даблклик на файле открывает файл в новом табе или окне (в зависимости от настройки), альт+даблклик кажется всегда в окне.

поставил себе чтобы всегда в табах открывал, такой проблемы не замечал никогда.


Название: Re: Xcode IDE
Отправлено: Igors от Март 26, 2015, 13:07
Следующая позиция: не удается натравить др компилятор на .mm файл. В данном проекте я использую icc 13, который молотит какую-то фигню на .mm (причем в виде "консольного чтения", ошибок не выдает, падла). Ну ладно, вроде все очевидно, надо определить свое Build Rule (аттач). Пофиг ветер, все равно icc хватает .mm файл
ЧЯДНТ?


Название: Re: Xcode IDE
Отправлено: Igors от Апрель 05, 2015, 05:48
Следующая позиция: никак не могу толком разобраться с окнами. Впрочем это было со всем версиями :) Проблема в том что IDE каким-то образом открывает один файл снова и снова. Через 10-15 минут работы уже десятка 2 окон, во многих из которых тот же файл.
Понял почему так происходит. Когда я "браузерю" Command+Option+press_on_symbol он мне открывает в новом окне, независимо есть ли уже оно - вот одинаковые окна и накапливаются. А если использовать Command+press_on_symbol то текущее окно переключается на рез-т browse. Да, я могу вернуться (Command+Control+left arrow) но это неудобно, напр я выбрал из меню др файл и уже не помню какой был предыдущий, надо опять разрывать его в проекте.

Итого: хотелось бы так: все открывающиеся окна остаются, я закрываю их только сам. Но если окно уже открыто, то вторая копия не открывается, рез-ты browse показываются в уже открытом. Как этого добиться?  В преференсах был - не нашел

Спасибо


Название: Re: Xcode IDE
Отправлено: kambala от Апрель 06, 2015, 14:57
с окнами не знаю, а дабл-клик на файле (или команд+дабл-клик на символе) открывает файл в существующем табе, если такой имеется


Название: Re: Xcode IDE
Отправлено: Igors от Апрель 06, 2015, 15:21
с окнами не знаю, а дабл-клик на файле (или команд+дабл-клик на символе) открывает файл в существующем табе, если такой имеется
Да, и при этом если в табе был др файл - он замещается на открытый. Т.е. открыть-то открыл, но текущий утерян (если к нему быстренько не вернуться)


Название: Re: Xcode IDE
Отправлено: kambala от Апрель 06, 2015, 16:42
я имел в виду в существующем другом, где этот файл уже открыт. текущий таб заменяется при одиночном клике.


Название: Re: Xcode IDE
Отправлено: Igors от Апрель 06, 2015, 16:48
я имел в виду в существующем другом, где этот файл уже открыт. текущий таб заменяется при одиночном клике.
Ага, точно, то что нужно. Спасибо


Название: Re: Xcode IDE
Отправлено: Igors от Апрель 23, 2015, 13:10
Следующая позиция. С этим багом я сталкивался во всех версиях Xcode с которыми имел дело

- в какой момент (слава богу редко) он начинает показывать/подсвечивать строку ошибки не ту где она действительно произошла, а на 1-2 строки ниже. Это происходит в каком-то конкретном файле (т.е. в др файлах ошибки на своих местах). Нервирует безумно :'(  Не раз пытался понять ну что же не так в этом файле что он заблудился - пока не удалось.

Спасибо


Название: Re: Xcode IDE
Отправлено: Igors от Июнь 26, 2015, 13:55
Ну вот опять потребовалось компилить неск файлов др компилятором (вместо default LLVM). Сделал так: завел новое Buil Rule для файлов *_icc.cpp и в rule сказал что их компилить icc. Работает, но ужасно коряво, нужно переименовывать файлы :'(  Хотелось бы цивильно, завести новый "тип файла" и его уже подать в Build Rule. Но где/как это сделать?

Спасибо


Название: Re: Xcode IDE
Отправлено: Igors от Август 10, 2015, 12:54
Еще одна мелкая, но противная проблема при компиляции неск файлов проекта icc (остальные clang)

- банальная ошибка синтаксиса, причем в файле для clang. Формально все норм, ошибка в консоль выдана. Но перед окончанием билда еще "что-то происходит" причем с пол-минуты и больше, в конце-концов запускается линкер и радостно сообщает что не может, нет объектного файла! Я и сам давно понял что не сможет по ошибкам в консоли, но на останов уходят десятки секунд. Если icc не использовать этот эффект исчезает, останов происходит быстро

Чем он там занимается и как это отключить?

Спасибо



Название: Re: Xcode IDE
Отправлено: Igors от Апрель 15, 2016, 11:24
Еще заморочка. После неск часов работы начинаются тормоза и Activity Monitor показывает много выжранной памяти. Перезапуск Xcode это решает, но это 5-10 минут для большого проекта. Может (подозреваю) причина в том что до выхода он хранит ВСЕ логи? Хорошо было бы не все, а только пару-тройку последних, но не нашел как (где) это установить

Спасибо   


Название: Re: Xcode IDE
Отправлено: navrocky от Апрель 15, 2016, 13:27
Я бы использовал cmake по возможности и отказался бы от XCode.


Название: Re: Xcode IDE
Отправлено: Igors от Апрель 15, 2016, 13:39
Я бы использовал cmake по возможности и отказался бы от XCode.
Все-таки как прекрасно быть молодым и свободным! Вот захотел - и использую то, захотел - се....  :)


Название: Re: Xcode IDE
Отправлено: navrocky от Апрель 15, 2016, 14:50
Я бы использовал cmake по возможности и отказался бы от XCode.
Все-таки как прекрасно быть молодым и свободным! Вот захотел - и использую то, захотел - се....  :)
Понимаю, сочувствую  :)