Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Операционные системы > Софт
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.11.2013, 06:56   #1
220Volt
Форумчанин
 
Регистрация: 14.12.2012
Сообщений: 671
По умолчанию Сборка FLTK в Windows

Здравствуйте.
Пытаюсь нормально собрать, но не получается. Собирал на mingw (4.8.1 и 4.7.2), версия FLTK - 1.3.2 и 1.3.1, в разных местах вылетают ошибки и make завершается.

Мои действия:
Код:
$ cd /home/Pavel/fltk-1.3.2
$ ./configure --prefix=/fltk_build
$ mingw32-make
В итоге получаю такую ерунду:
Код:
...
Compiling factory.cxx...
In file included from factory.cxx:33:0:
../src/flstring.h:43:37: error: 'int _stricmp' redeclared as different kind of s
ymbol
 #    define strcasecmp(s,t) _stricmp((s), (t))
                                     ^
factory.cxx:46:1: note: in expansion of macro 'strcasecmp'
 strcasecmp(const char *s, const char *t) {
 ^
In file included from ../FL/fl_utf8.h:34:0,
                 from ../FL/Fl.H:30,
                 from factory.cxx:27:
c:\mingw\include\string.h:81:37: error: previous declaration of 'int _stricmp(co
nst char*, const char*)'
 _CRTIMP int __cdecl __MINGW_NOTHROW _stricmp (const char*, const char*);
                                     ^
In file included from factory.cxx:33:0:
factory.cxx:46:12: error: expected primary-expression before 'const'
 strcasecmp(const char *s, const char *t) {
            ^
../src/flstring.h:43:39: note: in definition of macro 'strcasecmp'
 #    define strcasecmp(s,t) _stricmp((s), (t))
                                       ^
factory.cxx:46:12: error: expected ')' before 'const'
 strcasecmp(const char *s, const char *t) {
            ^
../src/flstring.h:43:39: note: in definition of macro 'strcasecmp'
 #    define strcasecmp(s,t) _stricmp((s), (t))
                                       ^
../makeinclude:149: recipe for target 'factory.o' failed
mingw32-make[1]: *** [factory.o] Error 1
Makefile:24: recipe for target 'all' failed
mingw32-make: *** [all] Error 1

?*ў?<@Павлик-ПК /home/Pavel/fltk-1.3.2
$ echo $?
2
?*ў?<@Павлик-ПК /home/Pavel/fltk-1.3.2
$ mingw32-make --version
GNU Make 3.82.90
Built for i686-pc-mingw32
Copyright (C) 1988-2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Пробывал игнорировать ошибки:
Код:
$ cd /home/Pavel/fltk-1.3.2
$ ./configure --prefix=/fltk_build
$ mingw32-make --ignore-errors
$ make install --ignore-errors
Но тогда FLTK собирает не все либы (*.a), хотелось бы по-нормальному. Что можно попробывать?
220Volt вне форума Ответить с цитированием
Старый 20.11.2013, 10:53   #2
ultimatet41
Форумчанин
 
Аватар для ultimatet41
 
Регистрация: 08.04.2012
Сообщений: 104
По умолчанию

я точно не помню, но вроде перед сборкой нужно сконфигурировать проект используя cmake.
ultimatet41 вне форума Ответить с цитированием
Старый 21.11.2013, 06:23   #3
220Volt
Форумчанин
 
Регистрация: 14.12.2012
Сообщений: 671
По умолчанию

Цитата:
Сообщение от ultimatet41 Посмотреть сообщение
я точно не помню, но вроде перед сборкой нужно сконфигурировать проект используя cmake.
Не помогло.

Думаю, проблемы не у меня, проблемы в FLTK. Несколько часов ковырялся в причинах невозможности скомпилировать. Основная - совпадение имен _strcasecmp() из fltk и ее сестры из string.h + отсутствие заголовков для тестовых программ. Вообще не солидно как-то, подправить за день можно, а у них эти косяки почти с первых билдов тянутся (пытался собрать 4 версии). Жаль, сначала FLTK мне понравилась.

Последний раз редактировалось 220Volt; 21.11.2013 в 06:26.
220Volt вне форума Ответить с цитированием
Старый 22.11.2013, 16:26   #4
220Volt
Форумчанин
 
Регистрация: 14.12.2012
Сообщений: 671
По умолчанию

Наверное зря отругал FLTK, wxWidgets тоже не собирается. Либо дело в руках либо windows+mingw.

Еще небольшой вопрос: суффикс dev, что он означает? Пример: wxMSW-3.0.0_gcc481TDM_Dev.7z или в linux репозиториях.
220Volt вне форума Ответить с цитированием
Старый 28.11.2013, 18:56   #5
220Volt
Форумчанин
 
Регистрация: 14.12.2012
Сообщений: 671
По умолчанию

Все же удалось собрать FLTK (v1.3.2) с помощью TDM-GCC http://tdm-gcc.tdragon.net/, makefile генерировал CMake'ом.
220Volt вне форума Ответить с цитированием
Старый 29.11.2013, 04:41   #6
220Volt
Форумчанин
 
Регистрация: 14.12.2012
Сообщений: 671
По умолчанию

Дополнительно необходимо подключать эти либы: -lole32 -luuid -lcomctl32 -lwsock32 -lm -lgdi32 -luser32 -lkernel32 -mwindows. -mwindows говорит что приложение оконное. Это не либы из поставки FLTK, идут в комплекте с компилятором. Возможно в процессе понадобятся какие-нибудь еще. Конечно можно не париться, ide все сделает сама.

Просидел пол ночи не мог собрать оконный hello world без этих либ ))
220Volt вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сборка xmlrpc-c и запуск в windows korea999 Помощь студентам 0 27.05.2012 21:02
Windows 7 Сборка 7601 Лианна Помощь студентам 3 27.04.2012 23:37
Сборка Windows XP/Vista/7 Artem s1 Windows 1 16.10.2011 21:40
[Qt] Сборка QtLua под Windows nuck Qt и кроссплатформенное программирование С/С++ 0 06.03.2011 11:43
Сборка Windows XP DM WinStyle Edition Vikenty Windows 1 22.07.2010 13:04