From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 32674 invoked by alias); 21 Oct 2005 20:22:22 -0000 Mailing-List: contact gcc-help-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-help-owner@gcc.gnu.org Received: (qmail 32637 invoked by uid 22791); 21 Oct 2005 20:22:19 -0000 Received: from qproxy.gmail.com (HELO qproxy.gmail.com) (72.14.204.206) by sourceware.org (qpsmtpd/0.30-dev) with ESMTP; Fri, 21 Oct 2005 20:22:19 +0000 Received: by qproxy.gmail.com with SMTP id a16so118360qbd for ; Fri, 21 Oct 2005 13:22:17 -0700 (PDT) Received: by 10.64.250.12 with SMTP id x12mr417961qbh; Fri, 21 Oct 2005 13:22:17 -0700 (PDT) Received: by 10.64.10.12 with HTTP; Fri, 21 Oct 2005 13:22:17 -0700 (PDT) Message-ID: <7adf9af0510211322q39d3a0eag@mail.gmail.com> Date: Fri, 21 Oct 2005 20:22:00 -0000 From: Moon Hwang To: gcc-help@gcc.gnu.org Subject: link error MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline X-SW-Source: 2005-10/txt/msg00133.txt.bz2 I make my own library using this makefile. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D TARGET :=3D xyDEVS CC :=3D g++ CFLAGS :=3D -c -fpermissive ###################################### # use following way: #> make "CONFIG =3D Debug" #or #> make "CONFIG =3D Release" ###################################### ifeq (,$(findstring Debug,$(CONFIG))) CFLAGS +=3D -fPIC -O2 -DNDEBUG MODI =3D CONFIG =3D Release else CFLAGS +=3D -fPIC -g -D_DEBUG MODI :=3D D CONFIG =3D Debug endif SRCDIR :=3D ./ SRC :=3D $(wildcard Dv*.cpp) SRC :=3D $(notdir $(SRC)) OBJDIR :=3D ../../../Linux/Object/$(CONFIG) OBJ :=3D $(SRC:%.cpp=3D$(OBJDIR)/%.o) LIBDIR :=3D $(HOME)/lib/$(CONFIG) #LIBDIR :=3D $(HOME)/lib SONAME :=3D lib$(TARGET)$(MODI).so LIB :=3D $(LIBDIR)/$(SONAME).1.0.1 LIBSONAME :=3D $(LIBDIR)/$(SONAME) #INC :=3D $(wildcard Dv*.h) $(wildcard Dv*.inl) $(wildcard Dv*.pkg)\ # $(wildcard Dv*.mcr) #INC :=3D $(notdir $(INC)) BOOST =3D /usr/local/include/boost_1_32_0 INCDIR :=3D ../../Include SDKDEL :=3D $(INC:%=3D$(INCDIR)/%) $(TARGET) : $(OBJ) @mkdir -p $(INCDIR) @mkdir -p $(OBJDIR) @mkdir -p $(LIBDIR) $(CC) -shared -Wl,-soname,$(SONAME) -o $(LIB) $(OBJ) -lc @ln -s $(LIB) $(LIBSONAME) clean : rm -f $(LIB) rm -f $(LIBSONAME) rm -f $(OBJ) rm -f $(SDKDEL) $(OBJDIR)/%.o : %.cpp @mkdir -p $(OBJDIR) $(CC) -I$(INCDIR) -I$(BOOST) $(CFLAGS) $< -o $@ =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D En= d of Makefile So the library looks be created as follows =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D total 900 drwxr-xr-x+ 2 MHHwang None 0 Oct 21 13:04 . drwxr-xr-x+ 4 MHHwang None 0 Oct 21 13:08 .. lrwxrwxrwx 1 MHHwang None 44 Oct 21 13:04 libxyDEVS.so -> /home/MHHwang/lib/Release/libxyDEVS.so.1.0.1 -rwxr-xr-x 1 MHHwang None 867547 Oct 21 13:04 libxyDEVS.so.1.0.1 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3DEnd of List But I cannot use the library when I use this make file And I try make an application using xyDEVS library. I uses following makef= ile =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D ##################################################################### # .bash_profile should contains # LD_LIBRARY_PATH=3D$LD_LIBRARY_PATH:$HOME/lib/Release:$HOME/lib/Debug # export LD_LIBRARY_PATH ##################################################################### # use following way: #> make "CONFIG =3D Debug" #or #> make "CONFIG =3D Release" ##################################################################### .SUFFIXES : .cpp .o TARGET :=3D Bomb CC :=3D g++ ifeq (,$(findstring Debug,$(CONFIG))) CFLAGS :=3D -c -O2 -DNDEBUG MODI =3D CONFIG =3D Release else CFLAGS :=3D -c -g -D_DEBUG MODI =3D D CONFIG =3D Debug endif LIBDIR :=3D -L /usr/X11R6/lib -L ${HOME}/lib/$(CONFIG) INCDIR :=3D -I /usr/X11R6/include -I ../../../Include -I /usr/local/include/boost_1_32_0 LIBS :=3D -lxyDEVS$(MODI) -lpthread $(TARGET) : $(OBJECTS) $(CC) $(INCDIR) $(LIBDIR) $(TARGET).cpp -o $(TARGET) $(OBJECTS) $(LIBS) #.cpp.o: # $(CC) $(CFLAGS) $(INCDIR) $< -o $@ clean: rm -rf $(OBJECTS) $(TARGET) core =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D End of makefile But I just get this error message =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D g++ -I /usr/X11R6/include -I ../../../Include -I /usr/local/include/boost_1_32_0 -L /usr/X11R6/lib -L /home/MHHwang/lib/Release Bomb.cpp -o Bomb -lxyDEVS -lpthread /usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../../i686-pc-cygwin/bin/ld: cannot find -lxyDEVS collect2: ld returned 1 exit status make: *** [Bomb] Error 1 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D End of Erro= r message Why I got the error message when using gcc 3.4.4 but not using gcc 2.96 ? Anybody? MoonHo