- O programa (VIDE MAKEFILE ABAIXO), RODA OK NA VM UBUNTU INSTALADA NO CURSO, UTILIZA QUATRO BIBLIOTECAS: CJSON+CRYPTO+CURL+SSL. PRECISO QUE AS QUATRO SEJAM VINCULADAS ESTATICAMENTE (E NÃO DINAMICAMENTE). ALTEREI O MAKEFILE, PASSANDO O DIRETÓRIO ONDE AS libssl.a e libcrypto.a, ESTÃO LOCALIZADAS VIA COMANDO locate; PORÉM AO TENTAR O MESMO COM A CURL, OCORREU UMA SÉRIE DE undefined references, MESMO ESTANDO A libcurl.a NO MESMO DIRETÓRIO QUE AS ANTERIORES. BAIXEI DO SITE OFICIAL DA CURL, OS FONTES NA VM UBUNTU. POR FAVOR, PODEM DIVULGAR UM PASSO A PASSO PARA QUE EU CONSIGA GERAR A libcurl.a + libcjson.a NA VM? GRATO SEGUE ABAIXO O MAKEFILE:
- `CC = gcc CFLAGS += -Wall -Iheader CFLAGS +=-I/usr/include/openssl # Add the path to OpenSSL headers here CFLAGS +=-I../L2/include CFLAGS += -DBUILD_DATE="$(shell date +'%Y%m%d%H%M%S')" LDFLAGS = /usr/lib/x86_64-linux-gnu/libssl.a LDFLAGS += /usr/lib/x86_64-linux-gnu/libcrypto.a LDFLAGS += -lcurl LDFLAGS += -lcjson LDFLAGS += -L../L2 -lL
SRC_DIR = source OBJ_DIR = obj BIN_DIR = /usr/bin
SRC = $(wildcard $(SRC_DIR)/*.c) OBJ = $(patsubst $(SRC_DIR)/%.c, $(OBJ_DIR)/%.o, $(SRC)) EXECUTABLE = $(BIN_DIR)/programa
all: $(EXECUTABLE)
$(EXECUTABLE): $(OBJ) ../L2/libL.a # ADICIONE A DEPENDENCIA DA BIBLIOTECA $(CC) $(CFLAGS) $^ -o $@ $(LDFLAGS)
$(OBJ_DIR)/%.o: $(SRC_DIR)/%.c $(CC) $(CFLAGS) -c $< -o $@
clean: rm -rf $(OBJ_DIR)/*.o $(EXECUTABLE)
.PHONY: all clean `