Коллеги, прошу прощения, если вопрос из первого класса.
Для сборки я использую pro-файл, qmake, маке. Проекты однотипные, связаны с мониторингом оборудования, различаются аппаратными особенностями (интерфейсами, протоколами и т.д.). Года 4 назад я сделал так: в pro-файл включил модули ядра программы, основные интерфейсы и т.д., а модули, связанные с конкретным оборудованием разделил на pri-файлы, примерно так:
INCLUDEPATH += $$PWD
DEPENDPATH += $$PWD
DEFINES += UNIT_PROJECT1
HEADERS += $$PWD/csensors.h
HEADERS += $$PWD/cmcdspi.h
...
SOURCES += $$PWD/csensors.cpp
SOURCES += $$PWD/cmcdspi.cpp
...
В проекте включаю этот файл
include($$ROOT_DIR/units/modules.pri)
А сейчас появилась необходимость объединить несколько проектов в один. Хотелось бы просто включить несколько pri, но в них встречаются одни и те же модули и при сборке получаю ошибки
multiple definition of `CSensors::CSensors(int, int, int, QString, int)'... /units/csensors.cpp:9: first defined here ...Как бы вы посоветовали избежать этого?
Отказываться от pri не хочется, т.к. разнообразие поддерживаемых аппаратных модулей уже сейчас сносит крышу, а так я хоть вижу, где какая начинка стоит.