日期:2014-05-16  浏览次数:20595 次

超奇怪的连接错误
文件结构:
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