超奇怪的连接错误
文件结构:
APP
|_UI
| |_UI.cpp
|_GUI
| |_GUI.cpp
|_main.cpp
UI中实例化了一个GUI中的类,main中实例化了UI中的一个类
makefile是将UI,GUI目录先编译成UI.a, GUI.a,然后连接就报错
undefined reference to GUI....
但是直接用UI.o,GUI.o连接的话就没问题
不知道为什么,希望高手给解答一下,make方法如下
--------------------------------------------
.a的编译命令:
$(AR) rcs $(OUT_FILE) $(OBJ_FILE)
连接命令:
$(CXX) $(LINK_OPTS) ... UI.a GUI.a ... #连接会报错
$(CXX) $(LINK_OPTS) ... UI.o GUI.o ... #连接没问题,程序可以运行
--------------------------------------------
------解决方案--------------------
试试
$(CXX) $(LINK_OPTS) ... UI.a GUI.a UI.a