导航:首页 > 源码编译 > gcc编译显示函数冲突

gcc编译显示函数冲突

发布时间:2022-07-13 12:29:44

A. gcc编译文件失败,提示undifined reference to“函数名”。原因是连接相应的库文件失败,如何连接库文件

把代码和命令贴上

B. 如何解决gcc版本冲突

我运行 ./configure --prefix=/usr/local/gcc-2.95.3 --host=localhost --enable-threads=posix --disable-checking --enable--long-long --enable-languages=c,c++,java --with-system-zlib
提示
Created "Makefile" in /root/gcc-2.95.3
/tmp/cONf24065.pos: line 7: cc: command not found
*** The command 'cc -o conftest -g conftest.c' failed.
*** You must set the environment variable CC to a working compiler.
坐等高帮忙
linux内核版本GCC版本信息: Linux version 2.4.20-8 ([email protected]) (gcc version 3.2.2 20030222 (Red Hat Linux 3.2.2-5)) #1 Thu Mar 13 17:54:28 EST 2003 我现想gcc升级4.1.2版本谁知道造编译器内核兼容升级谁知道该何升级我gcc所版本源码没二进制文件

C. gcc编译,出现错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ........

有时候我们编译一个大的项目的时候,会出现很多错误使得屏幕堆满了很多无用的信息。一般情况下我们需要找到首次出现错误的地方,在gcc中添加编译选项可以使编译停止在第一次出现错误的地方:

$ gcc -Wfatal-errors foo.c // GCC 4.0 and later$ g++ -Wfatal-errors foo.cpp
$ g++ -fmax-errors=N foo.cpp // 在出现第 N 此错误的时候停止编译,GCC 4.6 and later

D. linux下用gcc编译c出现的一些问题,请指教

你做 make 的时候,它会用预先设计好的命令来编译,连接源代码.你现在直接 "gcc pdf2swf.c" 就是假定整个程序只有这么一个源文件,没有非标准库.估计不大可能.很明显,源文件至少还有一个 init.c.

既然你已经能做 configure, make 和 make install,不知道为什么还要 gcc pdf2swf.c?

要用 gdb, make 的时候就必须带有 debug 信息, g++ 是 -g, gcc 不太清楚, 打 gcc --help 查一下. 另外, make 做完后,源文件不能删掉/移动,否则 gdb 就找不到了.

------------------

configure 会生成一个 Makefile, 打开后找 CCFLAG (通常是这个变量), 加上 -g 后再做 make 应该可以产生 debug 信息.你可以试试看.

E. Linux下编写c语言头文件,编译时出现“函数未定义”

出现该错误的原因为编译时只变编译了源文件的一部分,故在链接时无法从编译好的目标代码中找到print函数,所以出错。


根据你的源文件结构,个人推荐先单独编译源文件为多个object文件,再统一链接。

方法如下

gcc-cmain.c#-c参数的作用是让gcc只编译,不链接
gcc-ctest.c
gcc-omainmain.otest.o#将编译好的目标代码链接

当然,以上是在gcc为编译器的前提下执行,如使用clang等其他编译器,方法类似(clang的调用方法与gcc高度兼容)

F. Linux下 gcc编译提示错误,,在函数_start中 main 未定义的引用

你是不是在编译静态库或者动态库?也就是没有main函数。如果是,再参考一下下边的提示。
-c 参数表示将源文件编译成object(目标文件)。 即 gcc -c foo.c 会编译成 foo.o
gcc 不加参数时会编译且尝试链接成可执行文件,然而 foo.c 的代码中没有main函数的定义,所以最终无法成功链接,故报错。

G. 请问 linux下gcc编译.c文件出现undefined reference to `stop'的错误是为什么stop为自定义函数

~~~~这个没记错的话是链接的错误
跟include应该没关系(当然还是建议你加上-c参数只编译不链接看看还有没有错)

然后就是你的stop是定义在同一个文件里的么?
如果不是的话就要把两个文件一起编译(其实是一起链接)(你应该没有吧stop函数编成一个库吧~~~)

如果是的话那最好查一下参数类型写对没有,然后就是大小写是不是对的,

如果还不行的话麻烦把代码贴上来方便查错

H. 关于gcc 编译的问题

对于未声明的函数,编译器会默认的声明被调用函数返回值为int, 你可以加入 -Wall 参数来打开所有的编译告警,比如

gcc -Wall 1.c 2.c 仍然能编译通过,但是会告诉你2.c里有未声明的函数。

printf也是类似的被编译器用默认的函数声明了。

gcc链接的时候会自动链接glibc的,printf函数就在glibc里。但是如果你要使用其他库中的函数,比如开平方的sqrt函数是math库的函数,用它就必须在gcc的时候加入链接这些库的参数,比如

gcc -lm 就会链接 math库

头文件的作用是提供函数原型声明,以及各种类型声明,常量定义等,是用在“编译”时刻的,而最终产生程序的库链接则是属于“链接”阶段的东西,与头文件无关。

I. gcc编译错误

用gcc进行编译必须用#include “stdio.h”命令。
另外请问你用的是什么版本的linux,我用ubuntu写了命令也有这样的错误
但是用redhat5.4企业版加了上述命令后就没问题了

J. 运行gcc编译器出现问题

返回码是1,,就说明你调用了无效的dos功能号。还有就是你的那个“winmain”函数没有定义。

阅读全文

与gcc编译显示函数冲突相关的资料

热点内容
喷油螺杆制冷压缩机 浏览:578
python员工信息登记表 浏览:376
高中美术pdf 浏览:160
java实现排列 浏览:512
javavector的用法 浏览:981
osi实现加密的三层 浏览:231
大众宝来原厂中控如何安装app 浏览:913
linux内核根文件系统 浏览:242
3d的命令面板不见了 浏览:525
武汉理工大学服务器ip地址 浏览:148
亚马逊云服务器登录 浏览:524
安卓手机如何进行文件处理 浏览:70
mysql执行系统命令 浏览:929
php支持curlhttps 浏览:142
新预算法责任 浏览:443
服务器如何处理5万人同时在线 浏览:250
哈夫曼编码数据压缩 浏览:425
锁定服务器是什么意思 浏览:383
场景检测算法 浏览:616
解压手机软件触屏 浏览:348