В чем моя проблема при связывании функции, определенной в config. cpp, с моим файлом заголовка allvariables.hpp? - PullRequest
0 голосов
/ 31 января 2020
obj/main_exec.o: In function `std::ctype<char>::do_widen(char) const':
/home/aj/Documents/02_AJ_Research/13_Striker/ext/SimuFlow_1.0/src/configmod.cpp:7: multiple definition of `ty_conf::setconf_fromfile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, int*, int*)'
obj/configmod.o:/home/aj/Documents/02_AJ_Research/13_Striker/ext/SimuFlow_1.0/src/configmod.cpp:7: first defined here

Существует заголовочный файл с классом, и существует публичное c объявление функции: при компиляции файл config.o говорит, что функция уже определена в config.cpp. Почему это вызывает ошибку компоновщика?

Информация ty_Conf - это класс, определенный в заголовке: все внутри публикуется c, включая объявление функции: setconf_fromfile(...); Определение функции находится в configmod.cpp

обращаюсь за помощью по этому поводу

Ниже приведены мои команды Makefile:

**# object list
HOBJ  = $(OBJ_DIR)/allvariables.o\
OBJS  = $(OBJ_DIR)/linker.o\
        $(OBJ_DIR)/configmod.o\
EXEC  = $(OBJ_DIR)/flus_exec.o
$(OBJ_DIR)/%.o: $(SRC_DIR)/%.hpp
        $(CPP) -c $< -o $@ $(FFLAGS) $(IFLAGS) #$(CFLAGS)
$(OBJ_DIR)/%.o: $(SRC_DIR)/%.cpp
        $(CPP) -c $< -o $@ $(FFLAGS) $(IFLAGS) #$(CFLAGS)

.PHONY: all build externals clean distclean
all: externals build
build:  $(HOBJ) $(OBJS) $(EXEC)
        $(CPP) -o $(BIN_DIR)/$(EXE) $(OBJS) $(EXEC) $(FFLAGS)    $(LFLAGS)**
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...