[問題] Link error

看板C_and_CPP (C/C++)作者 (死大胖)時間13年前 (2012/04/14 14:50), 編輯推噓1(104)
留言5則, 2人參與, 最新討論串2/2 (看更多)
環境: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

04/14 14:58, , 1F
你的系統裡有 libhadooppipes.a libhadooputils.a 嗎?
04/14 14:58, 1F

04/14 14:58, , 2F
看起來像是 hadoop 的 library 的樣子
04/14 14:58, 2F

04/14 14:59, , 3F
一樓的問題或者可以改成: 你有裝了 hadoop 的 library 了嗎?
04/14 14:59, 3F

04/14 15:00, , 4F
我有放在/opt/hadoop/c++/Linux-i386-32/lib 內
04/14 15:00, 4F

04/14 15:01, , 5F
我用官方所給的sample檔案去make是可以link的到
04/14 15:01, 5F
文章代碼(AID): #1FYHulLc (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #1FYHulLc (C_and_CPP)