У меня есть 4 файла .c
, один называется main.c
с main()
, но я получаю сообщение об ошибке связывания «неопределенный символ _main в модуле c0.ASM». Я использую ТС.
Я искал на этом сайте и в Интернете и нашел такие вещи, как:
неопределенный символ для архитектуры x86_64 при компиляции программы C
неопределенный символ _main в модуле c0.ASM
но все они кажутся ошибками gcc или c++. Файлы слишком велики для вставки сюда, поэтому я загрузил их на mediafire.
#include <stdio.h>
#include <string.h>
#include "mpx.h"
int main()
{
return 0;
}
Если я удалю #include "MPX.H", я потеряю доступ ко всем общим переменным, определенным в mpx.h, но если я также избавлюсь от них всех, программа будет работать как надо (выводит оператор и возвращает 1.
mpx.ч:
http://www.mediafire.com/view/2pcxhwy9rwk9lls/MPX.H
параметры компилятора: обрабатывать перечисления как целые, эмуляция с плавающей запятой, генерировать подчеркивания, отладочная информация в objs, быстрая плавающая запятая
параметры компоновщика: библиотеки по умолчанию, предупреждение "нет стека", ссылка с учетом регистра, вывод - стандартный EXE
mpx.h
может быть ошибочная точка с запятой или что-то подобное (например, незакрытый комментарий); это, безусловно, аннулирует определениеmain()
, что приведет к тому, что компоновщик будет жаловаться на то, что_main
является неопределенным символом. Дважды проверьте и, возможно, (если не слишком долго) также опубликуйте свой заголовочный файл). - person   schedule 20.11.2015"mpx.h"
определения, которое съедает васmain
? (Здесь хватается за соломинку.) - person M Oehm   schedule 20.11.2015mpx.h
, что могло бы вызвать это. - person   schedule 20.11.2015int main() { return 0; }
выдает такую же ошибку? Если это так, то остальная часть кода не имеет значения. Если нет, то добавляйте биты реального кода, пока ошибка не начнет происходить. - person M.M   schedule 20.11.2015int main (void) { return 0; }
, а затем возьмите его оттуда. - person Lundin   schedule 20.11.2015Options
/Compiler
/Entry/Exit Code...
и посмотрите на параметрCalling Convention
. Вы должны использовать C, но по какой-то причине вы можете выбрать Pascal. - person Michael Petch   schedule 20.11.2015int main() { return 0; }
выдает ошибку, теперь вы говорите, что это не так .. - person M.M   schedule 20.11.2015prj2make file.prj file.mak
, гдеfile
— это имя файла вашего проекта. Обновление вашего вопроса с помощью файлаmak
может помочь. - person Michael Petch   schedule 20.11.2015tc /h
- person Michael Petch   schedule 20.11.2015#include "mpx.h"
? (если да, обновите вопрос, чтобы сказать об этом) - person M.M   schedule 20.11.2015tc /h
, я получаюTurbo C++ Version 3.0
- person Michael Petch   schedule 20.11.2015