
Помогите понять: makefile+lib.a
Помогите понять: makefile+lib.a
Дело в следующем: Компиляю static lib, затем компиляю исполянемый файлик, в котором пользуются методы этой либ. Все типа ок, тока вот когда пытаюсь запустить полученный "exe" в командной строке пишется "Aborted"... 

- sm
- Неотъемлемая часть форума
- Сообщения: 431
- Зарегистрирован: 12 мар 2004, 16:03
- Контактная информация:
Просто пишет "Aborted"? - Дай сообщение об ошибке полностью.
И вообще удостоверься, что ты сделал все так, как написано здесь:
http://www.firststeps.ru/linux/r.php?5
И вообще удостоверься, что ты сделал все так, как написано здесь:
http://www.firststeps.ru/linux/r.php?5
Дейстивительно, просто пишет aborted, и больше ни чего.....
вот как делал я:
makefile для lib:
///////////////////////////////////////////////////////////////////////////////
LIB=libTEST.a
CC=g++
CCFLAGS=-g -c -MD
AR = ar
ARFLAGS = cr
all: $(LIB) clean_d
$(LIB): $(patsubst %.cpp,%.o,$(wildcard *.cpp))
$(AR) $(ARFLAGS) $(LIB) $(patsubst %.cpp,%.o,$(wildcard *.cpp))
%.o: %.cpp
$(CC) $(CCFLAGS) $<
/////////////////////////////////////////////////////////////////////////////////////
makefile для "exe":
/////////////////////////////////////////////////////////////////////////////////////
CC=g++
CCFLAGS=-g -c -I..
EXEFLAGS=-g -o
test :test.o
$(CC) $(EXEFLAGS) test test.o -L.. -lTEST
test.o: test.cpp
$(CC) $(CCFLAGS) test.cpp
/////////////////////////////////////////////////////////////////////////////////////
не делал только ranlib, но прочитав твою месагу - попробовал. Результат тот-же....

вот как делал я:
makefile для lib:
///////////////////////////////////////////////////////////////////////////////
LIB=libTEST.a
CC=g++
CCFLAGS=-g -c -MD
AR = ar
ARFLAGS = cr
all: $(LIB) clean_d
$(LIB): $(patsubst %.cpp,%.o,$(wildcard *.cpp))
$(AR) $(ARFLAGS) $(LIB) $(patsubst %.cpp,%.o,$(wildcard *.cpp))
%.o: %.cpp
$(CC) $(CCFLAGS) $<
/////////////////////////////////////////////////////////////////////////////////////
makefile для "exe":
/////////////////////////////////////////////////////////////////////////////////////
CC=g++
CCFLAGS=-g -c -I..
EXEFLAGS=-g -o
test :test.o
$(CC) $(EXEFLAGS) test test.o -L.. -lTEST
test.o: test.cpp
$(CC) $(CCFLAGS) test.cpp
/////////////////////////////////////////////////////////////////////////////////////
не делал только ranlib, но прочитав твою месагу - попробовал. Результат тот-же....
