【发布时间】:2013-12-08 16:54:42
【问题描述】:
我正在学习 linux 下的静态库和共享库,但遇到了一个我找不到解决方案的问题。 所以,这是我的 /folder ls:
user@Project:~/7.1$ ls
历史 main.c oduzmi.c
podijeli.o potenciraj.c zbroji.o libmathsimple.a main.o
oduzmi.o pomnozi.c potenciraj.o libpotenciraj.so mathsimple.h podijeli.c pomnozi.o zbroji.c
现在我尝试编译我的 main.c,如下所示:
#include <stdio.h>
#include <mathsimple.h>
int main(void)
{
int a,b;
printf("Unesi a:\n");
scanf("%d",&a);
printf("Unesi b:\n");
scanf ("%d",&b);
zbroji(a,b);
oduzmi(a,b);
return 0;
}
当我执行 ./main.c 时,我得到:
./main.c: line 4: syntax error near unexpected token `('
./main.c: line 4: `int main(void)'
编辑:
我删除了mathsimple.h,得到了相同的输出。之前libmathsimple.a的错误已修复,谢谢指教。
附:所有权限均已设置。是否有可能我忘记在某处包含某些内容??
【问题讨论】:
-
#include <libmathsimple.a>您是否要像包含头文件一样包含库?看起来大错特错。 -
呃……呃……呃……退一步。您需要了解代码和可执行文件之间的区别是什么。这很严重。
-
与终端无关;使用其他编译程序的方法也会出现同样的错误。
-
@ouah 是的,我现在知道这是错误的,我非常沮丧,将它包含在 main.c 中。
标签: c linux compilation