当前位置: 技术问答>linux和unix
gcc 编译问题,麻烦高手解决。
来源: 互联网 发布时间:2016-04-15
本文导语: 最近要做个项目,在HP-UNIX下用GCC编译器。 现我有四个文件分别为:yzjk.c,pub.h,pub.c,pubadd.c。 四个文件的语法没有问题了。 GCC编译语句为:gcc -I$TUXDIR/include -o yzjk -L${TUXDIR}/lib yzjk.c pub.c pubadd.c -lwsc -lncur...
最近要做个项目,在HP-UNIX下用GCC编译器。
现我有四个文件分别为:yzjk.c,pub.h,pub.c,pubadd.c。
四个文件的语法没有问题了。
GCC编译语句为:gcc -I$TUXDIR/include -o yzjk -L${TUXDIR}/lib yzjk.c pub.c pubadd.c -lwsc -lncurses -lbuft -lwsc -lgpnet -lfml -lfml32 -lengine -ldl -lpthread -lz /usr/lib/libcrypt.a
-I$TUXDIR/include -L${TUXDIR}/lib :因为用到了TUXDEO中间件。
执行编译语句C文件语法错误全部解决了。现报如下错误:
$ aa
: No such file or directory
$
编译语句写在aa文件中。
麻烦高手解决下,在线等。
现我有四个文件分别为:yzjk.c,pub.h,pub.c,pubadd.c。
四个文件的语法没有问题了。
GCC编译语句为:gcc -I$TUXDIR/include -o yzjk -L${TUXDIR}/lib yzjk.c pub.c pubadd.c -lwsc -lncurses -lbuft -lwsc -lgpnet -lfml -lfml32 -lengine -ldl -lpthread -lz /usr/lib/libcrypt.a
-I$TUXDIR/include -L${TUXDIR}/lib :因为用到了TUXDEO中间件。
执行编译语句C文件语法错误全部解决了。现报如下错误:
$ aa
: No such file or directory
$
编译语句写在aa文件中。
麻烦高手解决下,在线等。
|
./aa
需要加上./表示执行当前目录下的aa
需要加上./表示执行当前目录下的aa
|
楼上正解。
这个错误可不是GCC的错误,因为根本不是发生在编译期的。你必须显示指出你的执行文件目录,比如./aa。
如果不想这样就需要设置一个系统路径变量。
这个错误可不是GCC的错误,因为根本不是发生在编译期的。你必须显示指出你的执行文件目录,比如./aa。
如果不想这样就需要设置一个系统路径变量。
|
根据"-o yzjk"lz生成的可执行文件应该是yzjk吧
要执行的话需加./合起来也就是 ./yzjk
如果 还是不可以的话建议 使用ls -l查看是否生成了可执行文件
要执行的话需加./合起来也就是 ./yzjk
如果 还是不可以的话建议 使用ls -l查看是否生成了可执行文件
|
用shell脚本来编译吗?是不是脚本写的不对.
用Makefile吧.
用Makefile吧.
|
建议用Makefile。
|
是不是头文件错了
|
//的确
|
你生成的可执行文件不是yzjk么,你执行aa做什么呢?
|
我也是这个意思.
基本不在命令行cc
|
同11楼的
生成的文件是yzjk
执行./yzjk就好了。
-o参数后面是生成的文件名
生成的文件是yzjk
执行./yzjk就好了。
-o参数后面是生成的文件名
|
接分是王道!
|
-o 可执行文件名
输入:
./可执行文件名
即可执行。
输入:
./可执行文件名
即可执行。
|
-o yzjk
生成的执行文件名是yzjk
最好还是写Makefile,养成好习惯
生成的执行文件名是yzjk
最好还是写Makefile,养成好习惯
|
。。。。。。。。。。。。。。。
|