Добрый день, хабровчане, занимаюсь кроссплатформенной разработкой приложений, стараюсь делать их легковесными и из-за этого недавно перешел с Qt на wxWidgets. Проблема в том, что в последнем нет средств для работы с БД. (Совсем недавно прикрыли)
Я погуглил и нашел несколько вариантов:
1) Одна команда делает обособленно от wx team свою технологию для работы с Postgres. Так и назвали wxPostgres.
Проблема: Возможно в дальнейшем Postgres сменю на что-нибудь другое, и тогда придется переписывать проекты.
2) Найти кроссплатформенную библиотеку для С++ работы с ODBC.
Проблема: не знаю какую выбрать, чтоб была под 3 платформы (Windows, Linux, MAC OS X).
3) Использовать чистое ODBC API.
Проблема: долгий путь и «придется» писать собственные классы.
У кого есть в кроссплатформенном программировании, можете им поделиться? Заранее спасибо!
Ладно, ответить придется самому.
Что у MySQL, что у Postgres есть некие библиотеки для работы с C++ (libmysqlclient и libpq++ соответственно). Думаю, аналогично они существуют и для остальных СУБД.
Пробовал пока только под Linux. Под Windows посложнее, но, думаю, все тоже решаемо.
Какие тесты? Какие доказательства? Я не завел топик на тему «Что лучше Qt или wxWidgets?», у меня есть проблема, мне нужен совет, что пользоваться в такой ситуации.
Под linux и windows я использую libodbc++ (см libodbcxx.sourceforge.net). Качество кода так себе, зато интерфейс максимально приближен к JDBC. На *nix (возможно и Mac — не знаю) в качестве реализации ODBC лучше использовать unixODBC (см. www.unixodbc.org). Тут можете посмотреть на пример использования и найти информацию о драйвере PostgreSQL.
Если будет время попробую написать пост на эту тему.