2013-04-09 2 views
0

В настоящее время я работаю над кросс-платформенным проектом в Qt. В настоящее время я разрабатываю Linux (Mint x64), но вам нужно развернуть части проекта на сервере Solaris 10.Невозможно построить Qt 5.0 на Solaris 10

Я пытаюсь построить Qt5.0.1 на Solaris сейчас около 3 дней с небольшим успехом!

Я загрузил источники из here и успешно извлек архив.

При попытке запустить скрипт configure я впервые столкнулся с синтаксическими ошибками, которые были исправлены путем изменения сценария qtbase/configure для использования/bin/bash вместо/bin/sh.

меня затем запустить на несколько проблем при конфигурации: «Нет QPA платформенный плагин не включен»

./configure -platform solaris-g++ 
  • Настройка не может обнаружить архитектуры (не разрушающей провал, но ...)
  • - Я явно установлен (с использованием pkgutil) libxcb и xcbutil
  • При использовании флага его-QPA-платформе сторожевого, настройка завершена, затем:
    • Я получаю ассортимент ошибок в здании, когда я бегу gmake - J4

ошибки компиляции являются:

In file included from ../3rdparty/pcre/pcre16_compile.c:43:0: 
../3rdparty/pcre/pcre_compile.c: In function 'compile_branch': 
../3rdparty/pcre/pcre_compile.c:5193:18: error: 'int64_t' undeclared (first use in this function) 
../3rdparty/pcre/pcre_compile.c:5193:18: note: each undeclared identifier is reported only once for each function it appears in 
../3rdparty/pcre/pcre_compile.c:5194:36: error: expected ')' before 'length_prevgroup' 
../3rdparty/pcre/pcre_compile.c:5264:32: error: expected ')' before 'repeat_max'gcc -c -O2 -Wall -W -D_REENTRANT -fPIC -DQT_NO_LIBUDEV -DQT_NO_EVDEV -DQT_NO_XCB -DQT_NO_USING_NAMESPACE -DQT_BUILD_CORE_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_USE_ICU -DPCRE_HAVE_CONFIG_H -DHB_EXPORT=Q_CORE_EXPORT -DQT_CORE_LIB -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -I../../mkspecs/solaris-g++ -I. -I../../include -I../../include/QtCore -I../../include/QtCore/5.0.1 -I../../include/QtCore/5.0.1/QtCore -Iglobal -I../3rdparty/pcre -I../3rdparty/md5 -I../3rdparty/md4 -I.moc/release-shared -I/usr/sfw/include -o .obj/release-shared/pcre16_dfa_exec.o ../3rdparty/pcre/pcre16_dfa_exec.c 
gmake[3]: *** [.obj/release-shared/pcre16_compile.o] Error 1 
gmake[3]: *** Waiting for unfinished jobs.... 
gmake[3]: Leaving directory `/export/home/emackenzie/Downloads/qt-everywhere-opensource-src-5.0.1/qtbase/src/corelib' 
gmake[2]: *** [sub-corelib-make_first] Error 2 
gmake[2]: Leaving directory `/export/home/emackenzie/Downloads/qt-everywhere-opensource-src-5.0.1/qtbase/src' 
gmake[1]: *** [sub-src-make_first] Error 2 
gmake[1]: Leaving directory `/export/home/emackenzie/Downloads/qt-everywhere-opensource-src-5.0.1/qtbase' 
gmake: *** [module-qtbase-make_first] Error 2 

Любая помощь будет принята с благодарностью!

[UPDATE] Итак, я решил эту ошибку компиляции закомментировав pcre_internal.h: 217,218,219,221:

//#if HAVE_STDINT_H 
//#include <stdint.h> 
//#elif HAVE_INTTYPES_H 
#include <inttypes.h> 
//#endif 

Теперь я получаю эту ошибку:

io/qtemporarydir.cpp: In member function 'void QTemporaryDirPrivate::create(const QString&)': 
io/qtemporarydir.cpp:150:30: error: 'mkdtemp' was not declared in this scope 
gmake[3]: *** [.obj/release-shared/qtemporarydir.o] Error 1 

I проверили источник и stdlib.h будет включен (где mkdtemp должен быть объявлен), и он находится в файловой системе в/usr/include

Снова любая помощь будет замечательной.

+0

cf. мой связанный вопрос и ответ: http://stackoverflow.com/q/20879715/427158 – maxschlepzig

ответ

0

Выяснить, какой заголовок в вашей системе объявляет int64_t и #include его на pcre_compile.c.

+0

Я надеялся, что будет более приятное решение, поскольку ни один из кода, который я компилирую, не является моим, это все стандартные источники Qt. Также я считаю, что int64_t не определен в одном месте ... (есть несколько разных заголовков, которые его объявляют) – egmackenzie

+0

Вы можете определить его сами: [проверить это] (http://stackoverflow.com/questions/13604137/definition- из-int64-т). – karlphillip

Смежные вопросы