Я скачал Codeblocks в комплекте с GCC отсюда
C часть работает нормально
Я прочитал вики-урок , в котором говорится, что наличие GCC позволит мне скомпилировать цель C, просто добавив -lobjc к опциям компилятора
Однако я выполнил шаги, упомянутые в этом руководстве, и добавил опцию -lobjc, но она не компилируется
Это сообщение об ошибке сборки, которое я получаю в кодовых блоках:
-------------- Build: Debug in test_prog_proj (compiler: GNU GCC Obj-C Compiler)---------------
mingw32-gcc.exe -Wall -g -c D:\backup\cb_files\objc_files\test_prog_proj\test_prog.m -o obj\Debug\test_prog.o
mingw32-gcc.exe: error: CreateProcess: No such file or directory
Process terminated with status 1 (0 minute(s), 2 second(s))
1 error(s), 0 warning(s) (0 minute(s), 2 second(s))
Как показано выше, он не показывает опцию -lobjc
Я также попытался вручную скомпилировать вышеуказанную программу в Windows cmd, зайдя в папку, содержащую файл .m. Я дал следующую команду:
mingw32-gcc.exe -Wall -g -c D:\backup\cb_files\objc_files\test_prog_proj\test_prog.m -o obj\Debug\test_prog.o -lobjc
Но я получаю ту же ошибку в cmd
mingw32-gcc.exe: error: CreateProcess: No such file or directory
я тоже пробовал
gcc -g -fgnu-runtime -O -c some_class.m
что я получил отсюда , но это выдает мне ту же ошибку CreateProcess. Как начать компилировать код Objective C в Windows (желательно с использованием GCC и Codeblocks)?
--- EDIT 1 ---
Я сделал так, как предложил в ответе Майка Кингхана ниже, и удалил мое старое инстагляционное кодблоки, затем переустановил MinGW и кодовые блоки отдельно. Удаление Codeblocks удалило папку Codeblocks в Program Files, но когда я снова переустановил Codeblocks (версия без MinGW, связанная вместе), настройки «GNU GCC Obj-C», которые я сделал в предыдущей установке, все еще были там, вместе с флагом -lobjc на вкладке «Настройки компоновщика».
Однако проблема в том, что он все еще не работает. Я получаю следующую ошибку, если пытаюсь собрать кодовые блоки
Goto "Settings->Compiler...->Global compiler settings->GNU GCC Obj-C Compiler->Toolchain executables" and fix the compiler's setup.
Tried to run compiler executable 'C:\Program Files\CodeBlocks\MinGW/bin/mingw32-gcc.exe', but failed!
Skipping... Nothing to be done (all items are up-to-date).
Вот как Toolchains executable
выглядит:
Если я попытаюсь скомпилировать его из cmd, зайдя в папку с файлом .m и введя команду
mingw32-gcc.exe -Wall -g -c D:\backup\cb_files\objc_files\test_prog_proj\test_prog.m -o obj\Debug\test_prog.o -lobjc
выдает ошибку
mingw32-gcc.exe: error: CreateProcess: No such file or directory
В чем здесь проблема?
--- EDIT 2 ---
Следуя предложению в ответе Майка Кингхана, я удалил старый экземпляр «GNU GCC Obj-C Compiler» из списка компиляторов и воссоздал с текущей версией «GNU GCC Compiler»
Однако программа по-прежнему не работает. Это сообщение, которое я получаю в журнале сборки:
-------------- Build: Debug in test_prog_proj (compiler: GNU GCC Obj-C Compiler)---------------
Linking stage skipped (build target has no object files to link)
Nothing to be done (all items are up-to-date).
Очистка проекта, а затем его сборка выдает то же сообщение. Попытка запустить проект в любом случае дает мне диалоговое окно, в котором говорится, что проект не построен, и, нажав «Да», чтобы построить проект, просто снова появляется то же диалоговое окно «проект еще не построен». Значки файлов в дереве рабочей области вкладки "Проекты" также отображаются серым цветом:
Вот как выглядит исполняемый файл Toolchain:
Я добавил -lobjc
в настройках компоновщика как , упомянутый здесь .
Я щелкнул правой кнопкой мыши значок проекта в дереве проекта, зашел в Параметры сборки и добавил -lobjc в настройках компоновщика:
В чем проблема с этим проектом на данный момент?
--- РЕДАКТИРОВАТЬ 3 ---
В итоге я полностью удалил Codeblocks (удалить из меню «Пуск» Windows, удалить папку codeblocks в% APPDATA%), удалить MinGW (удаление папки c: \ MinGW) и переустановить все с нуля. Я следовал всем инструкциям в вики (кроме раздела Устранение неполадок , но я думаю, что эта часть не имеет значения), и он все еще не работает (та же проблема, что описана в Редактировать 2 в этом посте).
Как получить кодовые блоки для обнаружения и компиляции кода obj-C? Кроме того, он не показывает мне аргументы командной строки компилятора, когда я пытаюсь построить его из интерфейса Codeblocks. Почему это так и как я могу заставить его показать мне какую бы командную строку он ни использовал?