static enumeratorConverterEntry enumeratorConverterEntries[]; /* line 186 */
Это выглядит как допустимое неполное, прямое объявление массива, который был бы действительным синтаксисом, за исключением, я думаю, статического классификатора.У меня нет копии стандарта 'C' передо мной, но чтение между строк в результатах Googling "прямого объявления статического массива", кажется, указывает на то, что неполное определение static массив приводит к неопределенному поведению, поэтому Microsoft и GNU имеют законное право делать с ним все, что хотят.GNU принимает это, а Microsoft отвергает.Как отмечает Марк Уилкинс, вы должны порадовать компилятор Microsoft, заменив его на:
extern enumeratorConverterEntry enumeratorConverterEntries[]; /* line 186 */
В общем, стоит отметить, что компилятор Microsoft поддерживает только стандарт C89, а компилятор GNU поддерживает частиСтандарт C99 и несколько собственных расширений, в зависимости от аргументов компилятора.
Ошибки в файлах fAssemble.c и fStack.c выглядят так, что один или несколько файлов препроцессора отсутствуют или неполны.Вы должны найти свой источник, чтобы узнать, где определены CONST и l_Interp, а затем выяснить, почему они не обнаруживаются в файлах, где происходят ошибки.