Нет опции компилятора gcc 4.2 в Xcode 4? - PullRequest
3 голосов
/ 23 сентября 2011

В моей установке Xcode 4 у меня есть только 2 варианта компиляции:

  1. Компилятор Apple LLVM 3.0
  2. GCC LLVM 4.2

Во многих примерах XCode я видел, что GCC 4.2 показан как третий вариант, но его просто нет. Я намеренно сделал чистую установку XCode 4. Существует ли стандартный способ добавления GCC 4.2, если его там еще нет? Один из моих проектов требует, чтобы я использовал GCC (а не GCC LLVM), другие проекты меня устраивают в GCC LLVM.

Ответы [ 2 ]

6 голосов
/ 30 октября 2011

Вот способ включить компиляцию с gcc 4.2 в xcode 4.2 .Это в основном выполняется через командную строку, поэтому, когда вы видите строки, начинающиеся с: [ 15:30 jon@MacBookPro / ]$, вам нужно открыть Terminal.app и запустить команду, которая начинается после $.

В этом процессе нет файлов или каталогов , удаленных или , удаленных , поэтому можно легко отменить их, если в будущем потребуется скомпилировать с LLVM.

  1. Скачать - но сделать не установить пока - xcode_4.1_for_lion.dmg или xcode_4.1_for_snow_leopard.dmg

  2. Теперь выполните следующие шаги для установки Xcode 4.1 в /Developer-4.1:

    1. Резервное копирование рабочего каталога /Developer (гдеXcode 4.2 установлен)

  3. Запустите установщик Xcode 4.1, используя место установки по умолчанию (/Developer)

  4. Переместите новую установку Xcode 4.1 в /Developer-4.1:

    [ 15:30 jon@MacBookPro / ]$ sudo mv -v /Developer /Developer-4.1
    
  5. Переместите каталог разработчика Xcode 4.2 обратно в /Developer:

    [ 15:30 jon@MacBookPro / ]$ sudo mv -v /Developer-4.2 /Developer
    

Отредактируйте файл Xcode 4.2 GCC 4.2.xcspec, чтобы получить gcc 4.2 для отображения в списке параметров компилятора [1] :

[ 15:30 jon@MacBookPro / ]$ sudo vi "/Developer/Library/Xcode/PrivatePlugIns/Xcode3Core.ideplugin/Contents/SharedSupport/Developer/Library/Xcode/Plug-ins/GCC 4.2 (Plausible Blocks).xcplugin/Contents/Resources/GCC 4.2.xcspec"
  • Измените строки 41 и 42 следующим образом:

    ShowInCompilerSelectionPopup = NO;
    IsNoLongerSupported = YES;
    
  • На это:

    ShowInCompilerSelectionPopup = YES; 
    IsNoLongerSupported = NO;
    

Резервное копирование Xcode 4.2 iOS / Simulator Framework usr каталогов:

[ 15:30 jon@MacBookPro / ]$ sudo mv -v /Developer/Platforms/iPhoneOS.platform/Developer/usr /Developer/Platforms/iPhoneOS.platform/Developer/usr.backup
[ 15:30 jon@MacBookPro / ]$ sudo mv -v /Developer/Platforms/iPhoneSimulator.platform/Developer/usr /Developer/Platforms/iPhoneSimulator.platform/Developer/usr.backup

Копирование каталогов Xcode 4.1 iOS / Simulator Framework usr в Xcode4.2:

[ 15:30 jon@MacBookPro / ]$ sudo cp -rv /Developer-4.1/Platforms/iPhoneOS.platform/Developer/usr /Developer/Platforms/iPhoneOS.platform/Developer/usr
[ 15:30 jon@MacBookPro / ]$ sudo cp -rv /Developer-4.1/usr /Developer/Platforms/iPhoneSimulator.platform/Developer/usr

Скопируйте каталоги библиотек iOS SDK gcc и info из Xcode 4.1 в Xcode 4.2 [2] :

[ 15:30 jon@MacBookPro / ]$ sudo cp -rv /Developer-4.1/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk/usr/lib/gcc /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk/usr/lib/gcc
[ 15:30 jon@MacBookPro / ]$ sudo cp -rv /Developer-4.1/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk/usr/lib/info /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk/usr/lib/info

Компиляция с использованием gcc-4.2!

Screenshot of CGG 4.2 in xcode 4.2

Это сообщение в блоге, которое я написал, с небольшой информацией об этом процессе.Не стесняйтесь оставлять комментарии в блоге, если у вас возникли какие-либо проблемы или у вас возникли вопросы.


[1] При открытии из командной строки(используя что-то вроде vi, emacs, nano и т. д.) убедитесь, что путь заключен в кавычки "/ long path / с пробелами / в нем / file.xcspec" или escapeпробелы / some / long \ path / с \ пробелами / в \ it / file.xcspec

[2] Это необходимо, поскольку SDK для iPhoneOS.platform имеет свои отдельные каталоги /usr/lib, а SDK для iPhoneSimulator.platform не

0 голосов
/ 22 февраля 2012

Xcode 4.3 имеет определенную папку /Applications/Xcode.app/Contents/Developer/Toolchains.

Есть ли способ добавить другие цепочки инструментов как AVR-gcc и PIC32-gcc?

...