#c
#c
Вопрос:
Я продолжаю получать это сообщение после попытки компиляции:
ld: warning: ignoring file testcode, building for macOS-arm64 but attempting to link with file built for unknown-unsupported file format ( 0x23 0x69 0x6E 0x63 0x6C 0x75 0x64 0x65 0x20 0x3C 0x73 0x74 0x64 0x69 0x6F 0x2E ) Undefined symbols for architecture arm64: "_main", referenced from: implicit entry/start for main executable ld: symbol(s) not found for architecture arm64 clang: error: linker command failed with exit code 1 (use -v to see invocation)
Вот код:
#include lt;stdio.hgt; int main() { int x = 10; int y = x / 2; printf("%i",y); return 0; }
Компиляция выполняется с использованием
gcc testcode
Комментарии:
1. Вы связываете источник вместо скомпилированного объектного файла.
2. Понятия не имею о возможной причине, может быть, что-то странное, например, пробел после «.c» в имени источника.
3. Как вы компилируете и связываете свой код?
4. Я не уверен, что вы подразумеваете под связыванием, но все, что я сделал, это сохранил код и набрал gcc [имя файла]. Когда я это делаю, я получаю это сообщение.
5. Было бы достаточно добавить текст в вопрос. GCC использует расширение файла, чтобы решить, какой инструмент использовать. Обычно файлы C имеют
.c
расширение файла. Затем GCC передает этот файл в компилятор C. Без расширения он, кажется, помещает его непосредственно в компоновщик. Исправьте имя файла и повторите попытку.