看板 C_and_CPP 關於我們 聯絡資訊
環境:Linux 問題: 我想請問一下版上的朋友,我現在在修改一個別人以完成的程式, 那我主要是將這個程式在另外加外部的物件近來使用。 下面是別人程式makefile的main.o:./main.cpp $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT main.o -MD -MP -MF $(DEPDIR)/main.Tpo -c -o main.o `test -f './main.cpp' || echo '$(srcdir)/'`./main.cpp HADOOP_INSTALL = /opt/hadoop PLATFORM = Linux-i386-32 CPPFLAGS = -m32 -I$(HADOOP_INSTALL)/c++/$(PLATFORM)/include Link = -L$(HADOOP_INSTALL)/c++/$(PLATFORM)/lib -lhadooppipes -lhadooputils -lpthread 如果我把CPPFLAGS不給值Make後會說外部加進來的.h檔是找不到的 如果CPPFLAGS給定上面的值錯誤訊息會說這個物件內的方法是undefined reference 也就是main中使用到.h的方法都是undefined。 我的想法可能是Link 時link不到.a檔 因為我對於makefile東西還不夠了解,上網看了些資料還是不太懂。 所以我想請問版上的朋友要如何能夠修改成link的到呢?我是不太了解 link是否有什麼規則。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.46.133.231
LPH66:你的系統裡有 libhadooppipes.a libhadooputils.a 嗎? 04/14 14:58
LPH66:看起來像是 hadoop 的 library 的樣子 04/14 14:58
LPH66:一樓的問題或者可以改成: 你有裝了 hadoop 的 library 了嗎? 04/14 14:59
Fat92:我有放在/opt/hadoop/c++/Linux-i386-32/lib 內 04/14 15:00
Fat92:我用官方所給的sample檔案去make是可以link的到 04/14 15:01