Есть 2 файла C, которые мне нужно связать с компилятором

Итак, я наконец очистил все ошибки и предупреждения в файлах C и приступил к их связыванию. У меня есть 2 файла C, которые мне нужно связать с компилятором.

et5ibwqm0.c intfac_fl.c

Команда компиляции мне была предоставлена:

gcc -shared -o et5stcklib.so et5ibwqm0.o intfac_fl.o -L$FGLDIR/lib

Не работает, я получаю эту ошибку:

et5ibwqm0.o: could not read symbols: File in wrong format
collect2: ld returned 1 exit status

3 ответа

Я не помню, но вы должны предварительно скомпилировать ваш файл C. Для этого:

  1. gcc -c et5ibwqm0.c
  2. gcc -c intfac_fl.c

Вы пометили это с помощью Informix. Являются ли эти модули C, которые вы пытаетесь вызвать из программы 4GL, и, следовательно, необходимыми для объединения их в общий исполняемый файл?

Если это так, просто включите все ваши исходные модули в директиву компиляции. Предполагая c4gl, что-то вроде:

c4gl main.4gl others.4gl et5ibwqm0.c intfac_fl.c -o mainwithccalls.4ge

Оказывается, это был просто отсутствующий спецификатор -m32, из-за которого компилятор отклонил один из объектов - user5586678

Другие вопросы по тегам