有2个C文件,我需要与编译器链接

时间:2015-11-20 18:30:11

标签: c linux informix 4gl genero

所以我最终清除了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 个答案:

答案 0 :(得分:0)

我不记得,但你应该预先编译你的C文件。 为此:

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

答案 1 :(得分:0)

您使用Informix标记了此内容。您尝试从4GL程序调用这些C模块,因此需要将它们组合成一个通用的可执行文件吗?

如果是这样,只需在compile指令中包含所有源模块即可。假设c4gl,类似于:

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

答案 2 :(得分:0)

原来它只是一个缺少-m32说明符导致编译器拒绝其中一个对象 - user5586678