sunjob 0 29 июня, 2020 Опубликовано 29 июня, 2020 · Жалоба qtcreator - проект из шаблон-визарда qt-widgets, довешиваю "свои плюшки"... есть мини-библиотека, состоит из 3х исходников: - lib1 c/h (использует lib2) - lib2 c/h (более низкоуровневая) - func c/h (рутина, используется обоими lib1 & lib2) при написании библиотеки извратился простым подключеним "реализаций" вместе с "хедерами" сборка/отладки библиотеки проходит без проблем :o) теперь хочу "правильно" добавить библиотеку в qtcreator-проект (хедеры отдельно, реализация отдельно) если просто подключить в *.pro-файле HEADERS += ini/lib1.h HEADERS += ini/lib2.h HEADERS += ini/func.h SOURCES += ini/lib1.c SOURCES += ini/lib2.c SOURCES += ini/func.c то получаем "анрезолв/func", что и не удивительно. если добавляем "потерянные" рутины (func.o) ("всевозможными" методами) - то получаем коллизию/множественное определение, (в исходнике и в обьектнике), что тоже не удивительно. как правильно подключить библиотеку? точнее, не саму библиотеку, а обьектный файл с общими реализациями рутины (понятное дело, нужно без установки библиотеки в систему :о) qtcreator-3.1.2 qt-4.8.7 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Lagman 1 4 июля, 2020 Опубликовано 4 июля, 2020 · Жалоба Может дело в в повторном включеним заголовочных файлов? https://logic.pdmi.ras.ru/~smal/aptu/cpp10/2010_09_08.html Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gridinp 2 10 октября, 2021 Опубликовано 10 октября, 2021 · Жалоба Чтобы избежать множ. определения надо добавлять с помощью '*=' Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться