Перейти к содержанию

vscorpion

Members
  • Постов

    1
  • Зарегистрирован

  • Посещение

    Никогда

Достижения vscorpion

  1. Здравствуйте. Пишу проект с использованием библиотек типа shared MAKEFILE TAXIINCLUDE=include TAXILIB=lib PROPERTY=property.conf CXX := g++ -DIBPP_LINUX -Wl,-rpath,/usr CXXFLAGS := -I./include/boost -I/usr/local/cppconn -I/usr/include/ibpp LDFLAGS := -L./boost/lib -L/usr/lib -lmysqlcppconn -lboost_date_time -lboost_program_options-mt PROGRAM_NAME := taxi OBJECT_FILES := $(TAXILIB)/libtaxifinance.so $(TAXILIB)/libtaxifuncs.so $(TAXILIB)/libtaxiconf.so $(TAXILIB)/libtaxistats.so $(TAXILIB)/libtaxipenalty.so $(PROGRAM_NAME).o HEADS := $(TAXIINCLUDE)/libtaxiconf.h $(TAXIINCLUDE)/libtaxifinance.h $(TAXIINCLUDE)/libtaxifuncs.h $(TAXIINCLUDE)/libtaxistats.h $(TAXIINCLUDE)/libtaxipenalty.h HEADS := $(TAXIINCLUDE)/ LIBS := -ltaxifinance -ltaxifuncs -ltaxiconf -ltaxistats -ltaxipenalty -libpp $(PROGRAM_NAME): $(OBJECT_FILES) $(CXX) $(CXXFLAGS) -o $@ $^ -L$(TAXILIB) $(LIBS) #taxi.o: taxi.cpp $(TAXIINCLUDE)/libtaxi.h $(TAXIINCLUDE)/libtaxifinance.h $(TAXIINCLUDE)/libtaxifunc.h $(TAXIINCLUDE)/libtaxistats.h $(TAXIINCLUDE)/libtaxipenalty.h # $(CXX) $(CXXFLAGS) -c taxi.cpp taxi.o: taxi.cpp $(HEADS) $(CXX) $(CXXFLAGS) -c taxi.cpp $(TAXILIB)/libtaxiconf.so: $(TAXILIB)/libtaxiconf.cpp $(TAXIINCLUDE)/libtaxiconf.h $(CXX) -fPIC $(CXXFLAGS) $(LDFLAGS) -c $(TAXILIB)/libtaxiconf.cpp -o $(TAXILIB)/libtaxiconf.o -I $(TAXIINCLUDE)/ $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared -Wl,-soname,$(TAXILIB)/libtaxiconf.so -o $(TAXILIB)/libtaxiconf.so $(TAXILIB)/libtaxiconf.o $(TAXILIB)/libtaxifinance.so: $(TAXILIB)/libtaxifinance.cpp $(TAXIINCLUDE)/libtaxifinance.h $(CXX) -fPIC $(CXXFLAGS) $(LDFLAGS) -c $(TAXILIB)/libtaxifinance.cpp -o $(TAXILIB)/libtaxifinance.o -I $(TAXIINCLUDE)/ $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared -Wl,-soname,$(TAXILIB)/libtaxifinance.so -o $(TAXILIB)/libtaxifinance.so $(TAXILIB)/libtaxifinance.o $(TAXILIB)/libtaxifuncs.so: $(TAXILIB)/libtaxifuncs.cpp $(TAXIINCLUDE)/libtaxifuncs.h $(CXX) -fPIC $(CXXFLAGS) $(LDFLAGS) -c $(TAXILIB)/libtaxifuncs.cpp -o $(TAXILIB)/libtaxifuncs.o -I $(TAXIINCLUDE)/ $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared -Wl,-soname,$(TAXILIB)/libtaxifuncs.so -o $(TAXILIB)/libtaxifuncs.so $(TAXILIB)/libtaxifuncs.o $(TAXILIB)/libtaxistats.so: $(TAXILIB)/libtaxistats.cpp $(TAXIINCLUDE)/libtaxistats.h $(CXX) -fPIC $(CXXFLAGS) $(LDFLAGS) -c $(TAXILIB)/libtaxistats.cpp -o $(TAXILIB)/libtaxistats.o -I $(TAXIINCLUDE)/ $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared -Wl,-soname,$(TAXILIB)/libtaxistats.so -o $(TAXILIB)/libtaxistats.so $(TAXILIB)/libtaxistats.o $(TAXILIB)/libtaxipenalty.so: $(TAXILIB)/libtaxipenalty.cpp $(CXX) -fPIC $(CXXFLAGS) $(LDFLAGS) -c $(TAXILIB)/libtaxipenalty.cpp -o $(TAXILIB)/libtaxipenalty.o -I $(TAXIINCLUDE)/ $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared -Wl,-soname,$(TAXILIB)/libtaxipenalty.so -o $(TAXILIB)/libtaxipenalty.so $(TAXILIB)/libtaxipenalty.o install: cp -fR ./taxi /usr/bin/ cp -fR $(TAXIINCLUDE)/*.h /usr/include/ cp -fR $(TAXILIB)/*.so /usr/lib/ config: mkdir -p /etc/taxi cp -i $(PROPERTY) /etc/taxi/ clean: rm -f *.so $(TAXILIB)/*.so rm -fR *.o $(TAXILIB)/*.o rm -fR *.o *.o rm -f *.out rm -f $(PROGRAM_NAME) После выполнения компиляции делаю make install и ldconfig выдается ошибка при выполнении ldconfig ldconfig: Невозможно создать ссылку с /usr/lib/lib/libtaxifinance.so на libtaxifinance.so ldconfig: Невозможно создать ссылку с /usr/lib/lib/libtaxipenalty.so на libtaxipenalty.so ldconfig: Невозможно создать ссылку с /usr/lib/lib/libtaxistats.so на libtaxistats.so ldconfig: Невозможно создать ссылку с /usr/lib/lib/libtaxiconf.so на libtaxiconf.so ldconfig: Невозможно создать ссылку с /usr/lib/lib/libtaxifuncs.so на libtaxifuncs.so при вызове с командной строки taxi - все работает... но если же я вызываю через crontab мне приходит письмо с ошибкой taxi: error while loading shared libraries: lib/libtaxifinance.so: cannot open shared object file: No such file or directory Что не так делаю. Подскажите, пожалуйста. Заранее спасибо. Отправлять читать книги не, отправляйте - читал, все делаю как там написано.
×
×
  • Создать...