Thursday, 21 August 2008

Компиляция программы на основе фреймворка Cocoa из командной строки

Cocoa - это библиотека классов для создания графического интерфейса, написанная на языке Objective C.

Простейшая программа, которая не покажет ничего на экране, но воспользуется фреймворком Cococa, выглядит так:

SimpleStringsOperations.m:

1 #import "AppKit/AppKit.h";
2
3 int main(int argc, const char *argv[]) {
4 return NSApplicationMain(argc, argv);
5 }
6

Компилятору gcc необходимо передать ключ "-framework Cocoa":

gcc -framework Cocoa SimpleStringsOperations.m -o SimpleStringsOperations

Фреймворк Cocoa включает в себя фреймворк AppKit, который мы включили в программу.

Но запустить откомпилированный файл просто так не удастся

при попытке запустить файл, вы получите сообщение об ошибке:


2008-08-21 18:13:16.182 SimpleCocoa[26695:10b] No Info.plist file in application bundle or no NSPrincipalClass in the Info.plist file, exiting

Что означает это сообщение, и как правильно запустить программу, читайте в следующем посте ;-)

GCC: Сборка на Mac OS

Откомпилировать программу на Mac OS (в моём случае Leopard) можно с помощью gcc.

Простейшая программа на Objective C выглядит следующим образом:
1 #import <AppKit/AppKit.h>
2
3 int main(int argc, const char *argv[]) {
4 NSLog(@"You can think I'm wrong, but that's no reason to quit thinking. (House M.D)");
5 return 0;
6 }
Данный исходный код можно сохранить в файле с расширением .m

Например: cite_gregory_house.m

Откомпилировать программу можно с помощью комманды:

gcc -framework Foundation cite_gregory_house.m -o cite_gregory_house

Важно отметить, что если вы используете и другие Frameworks, их нужно указать