В моем созданном проекте я получил «IGEL1.OBJ» и «IGEL2.OBJ», а также «IGEL.H».
В Orwell Dev-C ++ я делаю следующие шаги:
- ‘File’ -> ‘New’ -> ‘Project …’
- Регистрация ‘Basic’ -> ‘Консольное приложение’ -> ‘C Project’
- ‘Имя:’ -> IgelTest -> ‘OK’.
Затем в разделе «Проект»
- щелкните правой кнопкой мыши на «IgelTest»
- «Добавить в проект»
Добавление соответственно
- IGEL1.OBJ
- IGEL2.OBJ
- IGEL.H
Как только я это сделаю, я иду к
- ‘Project’
- «Параметры проекта»
- Зарегистрировать «Файлы»
- щелкните левой кнопкой мыши на «IGEL1.OBJ»
- установите флажок «Включить в ссылку» в разделе «Файлы»
- повторите то же самое для ‘IGEL2.OBJ’
- щелкните левой кнопкой мыши «ОК»
Теперь у меня есть «main.c» в моем представлении, нажмите на «Compile & Run ‘и получите следующее сообщение об ошибке:
mingw32-make.exe: * Нет правила для создания цели ‘IGEL1.o’, необходимой для ‘IgelTest.exe’. Стоп.
Я загрузил папку проекта здесь:
https://mega.co.nz/#F!ggpWEJIK!bHu30zK8y4UXU-LoAdcddQ
Вот вставка из ‘Makefile.win’:
http://pastebin.com/Pr9iS3Wc
Если вы посмотрите в свой Makefile.win
вы увидите, что он считает, что объектные файлы
связаны:
LINKOBJ = main.o IGEL1.o IGEL2.o
а также что на самом деле нет никаких правил для IGEL1.o
, IGEL2.o
, Ваши объектные файлы
IGEL1.OBJ
а также IGEL2.OBJ
не упоминаются вообще.
Для компилятора, который вы используете — GCC для Windows — объектные файлы обычно имеют расширение .o
не .obj
,
Если вы добавите любой файл name.extension в проект Dev-C ++ и проверить его на Включить в ссылку, тогда, если Dev-C ++ не распознает .расширение как расширение файлов, которые могут быть связаны, он считает, что файл является своего рода источник файл, и вы хотите связать объектный файл name.o это составлено из этого.
Вот что происходит с твоим .obj
файлы. Makefile не содержит правил для создания
IGEL1.o
, IGEL2.o
потому что IDE не знает способа сделать .o
файл из .obj
файл.
Чтобы решить эту проблему, переименуйте свой .obj
файлы с расширением .o
, Тогда связь
может Работа. Это еще не будет работать, однако, если ваш предварительно скомпилированный .obj
файлы представлены в 32-битном формате, и ваша версия Dev-C ++ использует 64-битный набор инструментов TDM GCC. Тогда вы получите сообщение об ошибке другого типа, и для ее решения вам потребуется перекомпилировать .obj
файлы как 64-битные .o
файлы из источника.