linux下链接静态库,调用同一个函数,有的能输出,有的不能输出

C++语言 码拜 8年前 (2016-09-23) 1993次浏览
这几天遇到一个奇葩问题
linux下链接静态库,调用同一个函数,有的能输出,有的不能输出, 调试多次搞不懂
静态库liblog.a
然后有A,B两个类,
还有AA,BB两个类, AA,BB分别使用了A和B类
然后在AA,BB两个类中调用了liblog.a的打印函数
在main.cpp中也使用了liblog.a中的打印函数
但是 编译连接成功后,  AA,BB 中的 打印怎么都不输出,  main.cpp 中的打印却是可以输出的
AA,BB中的函数调用是成功的,原因是有返回值
gdb调试, 加-g 编译的 也不好调试到AA,BB的函数中去,
在此求帮助!!!
makefile:

CXX = g++ -g
libs:
	cp ../../Plugin/liblog.a ./
#直接编译
main-1: A.cpp B.cpp AA.cpp BB.cpp main.cpp A.h  B.h AA.h  BB.h
	$(CXX) -lpthread -o main-1 A.cpp B.cpp AA.cpp BB.cpp main.cpp liblog.a
解决方案

40

《程序员的自本人修养——链接、装载与库》

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明linux下链接静态库,调用同一个函数,有的能输出,有的不能输出
喜欢 (0)
[1034331897@qq.com]
分享 (0)