Компиляция проекта Objective C на Linux (Ubuntu)

Это - упрощенный ответ.

  • На истинном языке OO, единственное процедурное кодирование сделано в объекте.

  • C не имеет никаких объектов, и C++ является языком, который поддерживает объекты. Java, с другой стороны, все - объект (кроме примитивов). Все вводится.

  • Линейная прогрессия происходит в объектах, но сами объекты являются просто наборами кода и данных.
18
задан Alex 13 October 2009 в 06:20
поделиться

3 ответа

Верно. В обоих случаях вы не включили Fraction.m в свой список файлов для компиляции, поэтому он не может найти реализацию класса Fraction

Из комментария эта команда работает

gcc `gnustep-config --objc-flags` -o main *.m -lobjc -lgnustep-base
9
ответ дан 30 November 2019 в 08:48
поделиться

Я не являюсь экспертом в написании подобных файлов make, я просто набираю следующие работы на ubuntu неплохо:

gcc -I /usr/include/GNUstep/ -I /usr/include/mysql -L /usr/lib/GNUstep/\
    -lgnustep-base -lmysqlclient\
    -g -ggdb\
    -fconstant-string-class=NSConstantString -o test *.m

Я использую его в этом проекте:

http://github.com/uptecs/SmsgateDelivery/

Если указанная выше команда GCC не работает, значит вы установили недостаточно пакетов,

4
ответ дан 30 November 2019 в 08:48
поделиться

Подход, который я только что получил, заключался в следующем (в Ubuntu, который тесно связан с Debian):

  • Используйте Synaptic для установки всех потенциально выглядящих пакетов GnuStep;
  • Исходный код (. ) сценарий запуска GnuStep, /usr/share/GNUstep/Makefiles/GNUstep.sh (это может быть в .profile или .bashrc ] или что-то в этом роде, чтобы вам не приходилось делать это каждый раз вручную)
  • Создайте GNUmakefile в соответствии с инструкциями в A First Tool

Это позволило мне успешно создать командную строку программы.

2
ответ дан 30 November 2019 в 08:48
поделиться