Я написал небольшой make-файл, который следует общей структуре, создавая объектные файлы и затем связывая их, чтобы создать исполняемый файл. Вот как это выглядит ..
CXX=g++
CXXFLAGS=-Wall -g
INCLUDES= -I ./
LDFLAGS= -L ./
LIBS= -lcryptopp
SRCS= test.cpp
OBJS= $(SRCS:.cpp=.o)
EXEC=test
all: $(EXEC)
$(EXEC): $(OBJS)
$(CXX) $(CXXFLAGS) $(INCLUDES) -o $(EXEC) $(OBJS) $(LDFLAGS) $(LIBS)
.cpp.o:
$(CXX) $(CXXFLAGS) $(INCLUDES) -c $< -o $@
Библиотека Cryptopp (cryptopp) является статической. Теперь, когда я пытаюсь запустить этот make-файл, когда запускается первая команда, которая пытается создать объектный файл ... она выдает мне много ошибок, подобных этой ...
test.cpp:289: instantiated from here
./include/algparam.h:322: warning: unused variable 'p'
./include/algparam.h: In member function 'void CryptoPP::AlgorithmParametersTemplate<T>::MoveInto(void*) const [with T = unsigned char]':
В конце концов, все нормально связывается и исполняемый файл работает, но как я могу избавиться от этих предупреждений, не удаляя -wall
? У меня нет большого опыта работы с make и makefiles.