Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Написание кросс-платформенных приложений, Без сторонних библиотек 
:(
    Опции темы
IL3
Дата 5.9.2008, 20:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 11.3.2007

Репутация: нет
Всего: нет



Надо написать программу на WinApi(для винды) и на GTK(для линукса). Планирую сделать разделение с помощью макро команд.
Вроде:
Код

#ifdef WIN32
  int WinMain( ... )
  {
  }
#else
  int main( ... )
  {
  }
#endif

Только я никак не могу найти этих дефайнов. А может быть есть способ лучше?
PM MAIL   Вверх
Acer
Дата 5.9.2008, 21:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 652
Регистрация: 5.9.2007
Где: UA::DN

Репутация: 15
Всего: 8



Qt. Этим все сказано smile
PM MAIL   Вверх
IL3
Дата 5.9.2008, 21:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 11.3.2007

Репутация: нет
Всего: нет



Ну, походу дела он платный=) Я так понимаю, что это библиотека классов для рисования гуи(в том числе)
Кроме всего прочего я пишу в целях обучения и хочу сначала понять как это работает, а уже потом использовать сторонние библиотеки.
В общем не подходит он мнеsmile 
Есть другие варианты?
PM MAIL   Вверх
Acer
Дата 5.9.2008, 22:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 652
Регистрация: 5.9.2007
Где: UA::DN

Репутация: 15
Всего: 8



У Qt есть 2 версии. Коммерческая и Open Source. Вторая бесплатная. Скачать можно тут
Это кроссплатформенная библиотека для всего. Не только гуй она может нарисовать. Полностью обьектная модель. Все просто, как в java.

Это сообщение отредактировал(а) Acer - 5.9.2008, 22:02
PM MAIL   Вверх
IL3
Дата 5.9.2008, 22:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 11.3.2007

Репутация: нет
Всего: нет



Да, да, это понятно. Но я не хочу пользоваться такими библиотеками во-первых потому что интерфейс для линукса уже написан, а во вторых потому что интересно самому разобраться в этой теме.
PM MAIL   Вверх
Acer
Дата 5.9.2008, 22:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 652
Регистрация: 5.9.2007
Где: UA::DN

Репутация: 15
Всего: 8



хм. А GTK - это по твоему не сторонняя библиотека? Ты сам себе противоречишь
PM MAIL   Вверх
IL3
Дата 5.9.2008, 22:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 11.3.2007

Репутация: нет
Всего: нет



А хз. Часть для линукса писал не я, а сам я ничего про это не знаю, просто увидел название в коде=)
PM MAIL   Вверх
Acer
Дата 5.9.2008, 22:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 652
Регистрация: 5.9.2007
Где: UA::DN

Репутация: 15
Всего: 8



Qt как и Gtk+ есть библиотека расширяющая C++. Гуй ты можешь под виндой рисовать с помощью WinApi. Там не надо ничего лишнего использовать... А под никс не знаю... не пробовал.
PM MAIL   Вверх
IL3
Дата 5.9.2008, 22:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 11.3.2007

Репутация: нет
Всего: нет



А, понятно. Так как узнать под какой операционной системой компилируется программа?
PM MAIL   Вверх
Rpahut
Дата 5.9.2008, 23:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


0xdeadbeef
*


Профиль
Группа: Участник
Сообщений: 243
Регистрация: 9.4.2006

Репутация: нет
Всего: 7



По поводу гуя здесь посмотри (да, да, это самореклама =) Вобще без сторонних библиотек мало что можно написать; фишка не в том, чтобы совсем без них обойтись, а чтоб при переносе на другую ось нужно было переписать минимум кода . А сразу на обеих осях мона только консольное приложение запустить наверное.
--------------------
C/C++ GameDevRSS Раздела программирования игрOpenGL - уроки от NeHeКак продать идею?
PM MAIL   Вверх
Acer
Дата 5.9.2008, 23:58 (ссылка) |    (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 652
Регистрация: 5.9.2007
Где: UA::DN

Репутация: 15
Всего: 8



Цитата(IL3 @ 5.9.2008,  22:54)
А, понятно. Так как узнать под какой операционной системой компилируется программа?

Вот так можно, я думаю
Код

#if defined(__APPLE__) && (defined(__GNUC__) || defined(__xlC__) || defined(__xlc__))
/* Code for Mac OS X */
#ifdef __LP64__
/* Code for Mac OS X 64 bit */
#else
/* Code for Mac OS X 32 bit */
#endif
#elif defined(MSDOS) || defined(_MSDOS)
/* Code for MS DOS */
#elif defined(__OS2__)
#if defined(__EMX__)
/* Code for XFree86 on OS/2 (not PM) */
#else
/* Code for OS/2 */
#endif
#elif !defined(SAG_COM) && (defined(WIN64) || defined(_WIN64) || defined(__WIN64__))
/* Code for Win32 / Win64 */
#elif !defined(SAG_COM) && (defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__NT__))
#if defined(WINCE) || defined(_WIN32_WCE)
    /* Code for Windows CE 5.0 */
#else
/* Code for Win32 */
#endif
#elif defined(__MWERKS__) && defined(__INTEL__)
/* Code for Win32 */
#elif defined(__sun) || defined(sun)
/* Code for Sun Solaris */
#elif defined(hpux) || defined(__hpux)
/* Code for HP-UX */
#elif defined(__ultrix) || defined(ultrix)
/* Code for DEC Ultrix */
#elif defined(sinix)
/* Code for Reliant UNIX */
#elif defined(__linux__) || defined(__linux)
/* Code for Linux */
#elif defined(__FreeBSD__) || defined(__DragonFly__)
/* Code for FreeBSD  */
#elif defined(__NetBSD__)
/* Code for NetBSD & Any BSD 4.4 system */
#elif defined(__OpenBSD__)
/* Code for OpenBSD */
#elif defined(__bsdi__)
/* Code for BSD/OS */
#elif defined(__sgi)
/* Code for SGI Irix */
#elif defined(__osf__)
/* Code for HP Tru64 UNIX */
#elif defined(_AIX)
/* Code for AIX */
#elif defined(__Lynx__)
/* Code for LynxOS */
#elif defined(__GNU__)
/* Code for GNU Hurd */
#elif defined(__DGUX__)
/* Code for DG/UX */
#elif defined(__QNXNTO__)
/* Code for QNX RTP 6.1 */
#elif defined(__QNX__)
/* Code for QNX */
#elif defined(_SEQUENT_)
/* Code for DYNIX/ptx */
#elif defined(_SCO_DS)
/* Code for SCO OpenServer 5 + GCC */
#elif defined(__USLC__)
/* all SCO platforms + UDK or OUDK */
#elif defined(__svr4__) && defined(i386)
/* Open UNIX 8 + GCC */
#endif


Это сообщение отредактировал(а) Acer - 6.9.2008, 07:05
PM MAIL   Вверх
IL3
Дата 6.9.2008, 17:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 11.3.2007

Репутация: нет
Всего: нет



О, все понятно. Спасибо большое smile 
PM MAIL   Вверх
Acer
Дата 6.9.2008, 17:41 (ссылка)  | (голосов:4) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 652
Регистрация: 5.9.2007
Где: UA::DN

Репутация: 15
Всего: 8



Можешь мне поставить плюсег smile 

Это сообщение отредактировал(а) Acer - 6.9.2008, 17:53
PM MAIL   Вверх
Rickert
Дата 7.9.2008, 06:16 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ситхи не пройдут!
****


Профиль
Группа: Комодератор
Сообщений: 3356
Регистрация: 11.7.2006
Где: Лакрима

Репутация: нет
Всего: 52



Acer, Да ты совсем плохой парень, судя по репутации smile
+ от IL3


Это сообщение отредактировал(а) Rickert - 7.9.2008, 10:57


--------------------
Ни что не внушает сна крепче, чем день приисполненный трудов!
PM MAIL WWW Skype GTalk   Вверх
Acer
Дата 7.9.2008, 10:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 652
Регистрация: 5.9.2007
Где: UA::DN

Репутация: 15
Всего: 8



Rickert, ну... я стараюсь исправляться smile
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets"
JackYF
Любитель
  • В заголовке темы в квадратных скобках обозначьте используемую вами библиотеку, например: [QT],[GTK],[wx].
  • Если вопрос актуален только для некоторой версии библиотеки, либо, если вы пользуетесь не самой последней версией, укажите это. Например: [QT4], [GTK2].
  • Все начинающие изучать Qt - не забудьте зайти сюда.
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • В вопросе укажите полную версию версию библиотеки, а также все дополнительные используемые программные пакеты.
  • Не забывайте пользоваться кнопкой "Код".
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема »


 




[ Время генерации скрипта: 0.0941 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.