есть 2 dll-ки
1я dll представляет собой кнопку, которая размещается на форме и обладает некоторыми специфичными функциями.
2я представляет собой виджет использующий эту кнопку.
Так же 1я dll с компилена в 2х вариантах - обычном и в варианте плагина, чтобы можно было работать с ней в Qt Disigner.
в pro-файле 2й dll-ки подключаю 1ю:
#Добавление библиотеки SpecButton
include($$ROOT/src/SpecButton/SpecButton.pri)
LIBS += -L$$ROOT/lib $$SPECBUTTON_LIB
SpecButton.pri Представляет собой:
SPECBUTTON_LIB = -lSpecButton
INCLUDEPATH += $$ROOT/src/SpecButton/include
DEPENDPATH += $$ROOT/src/SpecButton
Далее в тесте аналогично подрубаю ТОЛЬКО 2ю dll:
#Добавление библиотеки Plotter
include($$ROOT/src/Plotter/Plotter.pri)
LIBS += -L$$ROOT/lib $$PLOTTER_LIB
При компиляции теста компилятор ругается и указывает на:
ui_PlotterView.h(30) : fatal error C1083: Cannot open include file: 'SpecButton.h': No such file or directory
Фишка в том, что в ui_PlotterView.h, SpecButton.h подключен как
#include "SpecButton.h"
а не
#include <SpecButton.h>
Если же в тест подключить обе библиотеки то все ок.
Ворос в том, что, как мне кажется, так не должно быть. Поскольку тест не должен ничего знать о кнопке, он просто подключает Plotter1.dll, но при прдключении plotter.h, доходит до SpecButton.h в кавычках(!), пытается ее найти и не получается.
UPD.: Дело все таки не в кавыках или угловатых скобках... Даже если в <> то все равно тест требует путь до заголовочника той библиотеки, которая подключена ко 2й dll-ки... Что, так и должно быть?