Чего не хватает, так это связи между вашим приложением и вашей динамической библиотекой.
Обычно я делаю что-то подобное для своих приложений для настольных компьютеров (linux):
INCLUDEPATH += ./include
LIBS += -L./lib -lLib
Где:
INCLUDEPATH определяет путь к расположению вашей общей библиотеки .h файлов.
LIBS определяет путь к вашей встроенной библиотеке.
Вы можете найти соответствующую документацию здесь: QMake - Объявление других библиотек
Обновлен:
Мне удалось собрать проект (Linux Qt v4.7.4) и связать его с библиотекой, используя опубликованный вами код. Я постараюсь уточнить, так как мой ответ может быть не совсем ясным.
Переменные INCLUDEPATH и LIBS должны быть добавлены в файл App.pro.
Чтобы компоновщик правильно нашел библиотеку, пути должны быть скорректированы в соответствии с путями, которые вы используете для своего проекта:
LIBS + = -L PATH -l LIBNAME
Предположим, что ваша структура папок похожа на следующую:
Project
|_ Lib (your sharded library project files)
|_ App (your application project files)
Вы бы изменили переменные следующим образом:
INCLUDEPATH += ../Lib
LIBS += -L../Lib -lLib
Обратите внимание, что вы связываетесь по-разному в зависимости от вашей платформы, вы можете сделать что-то подобное для Windows и Linux:
unix {
INCLUDEPATH += ../Lib
LIBS += -L../Lib -lLib
}
win32 {
INCLUDEPATH += ../Lib
LIBS += ../Lib.lib
}