В двух словах: у тебя нет действий в правилах для сборки .o из .с. Именно там задаются инклюды. Смотри мой вариант (не гарантирую 100% работоспособность, но основную идею, думаю поймешь):
# Сюда пиши все объектные файлы для сервера
SERV_OBJS := ServerSocket.o Socket.o server_main.o
# Сюда пиши все объектные файлы для клиента
CLIENT_OBJ := ClientSocket.o Socket.o client_main.o
# Здесь каталог с включаемыми файлами (*.h)
INC_DIR := /usr/include/mysql++
# Здесь каталог с библиотеками (либы для Мускула)
LIB_DIR :=
# Сюда пишешь библиотеки, с которыми линковать
LIBS := -lmysqlpp -lmysqlclient
all: SEVER CLIENT
SERVER: $(SERV_OBJ)
g++ -o SERVER -L$(LIB_DIR) $(LIBS) $(SERV_OBJECTS)
CLIENT: $(CLIENT_OBJ)
g++ -o CLIENT -L$(LIB_DIR) $(LIBS) $(CLIENT_OBJECTS)
# Это правило делает объектные файлы из сишных (здесь и задаем включаемый каталог!)
%.o:%.cpp
g++ -c -pipe -I$(INC_DIR) -o $@ $<
SERVER: $(SERV_OBJ)
g++ -o SERVER -L$(LIB_DIR) $(LIBS) $(SERV_OBJECTS)
В переменной $(LIBS) у меня хранятся подключаемые библиотеки (судя по твоему первому МАКЕ-файлу это lmysqlpp и mysqlclient) Опция -l компилятора говорит слинковать твои файлы с этими библиотеками. Но поскольку компилятор не знает, где их взять - вылетает ошибка. Поэтому в переменную $LIB_DIR нужно запихать путь к каталогу с либами Мускула. Смотри куда он их сует при инсталяции. Опция -L - говорит "искать библиотеки для линковки в последующем каталоге".
(MedVed @ Четверг, 28 Апреля 2005, 17:49) писал(а):Проблеммы при линковке возникают потому что компилятор не находит Мускульные библиотеки.
Смотри еще раз этот код:
SERVER: $(SERV_OBJ)
g++ -o SERVER -L$(LIB_DIR) $(LIBS) $(SERV_OBJECTS)
В переменной $(LIBS) у меня хранятся подключаемые библиотеки (судя по твоему первому МАКЕ-файлу это lmysqlpp и mysqlclient) Опция -l компилятора говорит слинковать твои файлы с этими библиотеками. Но поскольку компилятор не знает, где их взять - вылетает ошибка. Поэтому в переменную $LIB_DIR нужно запихать путь к каталогу с либами Мускула. Смотри куда он их сует при инсталяции. Опция -L - говорит "искать библиотеки для линковки в последующем каталоге".