“undefined reference to error”的解决方法是什么?
1个回答
2022-12-14 · 百度认证:北京惠企网络技术有限公司官方账号
关注
展开全部
1、没有指定对应的库(.o/.a/.so) 使用了库中定义的实体,但没有指定库(-lXXX)或者没有指定库路径(-LYYY),会导致该错误,
2、 连接库参数的顺序不对,在默认情况下,对于-l 使用库的要求是越是基础的库越要写在后面,无论是静态还动态
3、gcc/ld 版本不匹配 ,gcc/ld的版本的兼容性问题,由于gcc2 到 gcc3大版本的兼容性存在问题(其实gcc3.2到3.4也一定程度上存在这样的问题) 当在高版本机器上使用低版本的机器就会导致这样的错误, 这个问题比较常见在32位的环境上, 另外就在32位环境不小心使用了64位的库或者反过来64位环境使用了32位的库.
4、C/C++相互依赖和链接,gcc和g++编译结果的混用需要保证能够extern "C" 两边都可以使用的接口,在我们的64位环境中gcc链接g++的库还需要加上 -lstdc++,具体见前文对于混合编译的说明 。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询