Pull to refresh

Comments 6

А зачем содержимое MyLibrary_global.h выносить в отдельный файл?
По идеологии с++: один класс — два файла (описания и определения). Представьте себе, что в Вашей библиотеке несколько десятков разнообразных классов, в одном из них определены директивы экспорта. Теперь все остальные файлы должны иметь #include этого файла и, что логично, класса. А зачем Вам подключать класс, который не нужен на определенном участке кода? В нашей команде в файле MyLibrary_global.h принято писать @mainpage комментарий, который будет на главной странице документации по библиотеке, иначе и не найти этот комментарий среди десятков файлов. Очень удобно.
а вам не приходилось при промощи qt подгружать и выгружать библиотеки во время работы программы? что-то вроде хот-плагинов.
Приходилось, но в таких случаях обычно используется QLibrary и C-Export потому как динамика и заголовочные файлы не линкуются с приложением.
У экспорта-импорта плюсовых классов есть только один, но весьма неприятный недостаток — лок как на язык (только плюсы), так и на компилятор (один и тот же у библиотеки и пользователя). А как ли на Qt просто и удобно вязать разноязычные проекты через интерфейсы (чисто виртуальные классы в плюсах)?
Если вам требуется такая универсальность, то писать придется по-старинке. Этот метод подходит только для проектов созданных на одном компиляторе с использованием библиотеки qt.
Sign up to leave a comment.

Articles