Связанный .lib-файл связан с .dll
У меня была такая же проблема. Скажем, у меня есть проекты MyProject и TestProject. Я эффективно связал файл lib для MyProject с TestProject. Однако этот файл lib был создан, так как была построена DLL для MyProject. Кроме того, я не содержал исходный код для всех методов в MyProject, но только доступ к точкам входа DLL.
Чтобы решить проблему, я построил MyProject как LIB и связал TestProject с этим .lib-файлом (скопируйте вложенный файл .lib в папку TestProject). Затем я смогу снова создать MyProject как DLL. Он компилируется, поскольку lib, с которым связан TestProject, содержит код для всех методов в классах MyProject.
Вам нужно скопировать фреймворки в свой пакет приложений и изменить ссылки на рамки Qt. OSX имеет средство разработки, называемое install_name_tool, которое позволяет вам вручную изменять ссылки.
К счастью, Qt предоставляет инструмент командной строки macdeployqt, который скопирует необходимые рамки Qt и изменит ссылки для вас.
Вы можете прочитать об этом в документах Qt для развертывания приложения Qt для OSX . Это очень просто использовать. Предполагая, что ваш путь настроен на включение инструментов Qt, просто вызовите это из пути к вашему приложению: -
macdeployqt MyApp.app
Если вы используете другие рамки, отличные от Qt, вам придется вручную их скопировать и используйте для этого install_name_tool.