2012-06-26 2 views
-1

Я пытаюсь создать плагин postgresql для устройства Symbian, но я не могу его скомпилировать. Я работаю над Windows 7 64bit.Невозможно создать плагин postgresql QT для устройства Symbian

Я сделал все, что в соответствии с этой статьей: http://doc.qt.io/archives/qt-4.7/sql-driver.html#qpsql

C:\QtSDK\QtSources\4.8.1\src\plugins\sqldrivers\psql>qmake "INCLUDEPATH+=C:\Program Files (x86)\PostgreSQL\8.3\include" "LIBS+=C:\Program Files (x86)\PostgreSQL\8.3\lib\libpq.lib" psql.pro 
WARNING: (internal):1: Unescaped backslashes are deprecated. 

Так, он выглядел нормально. Тогда ...

C:\...drivers\psql>C:\QtSDK\Symbian\tools\sbs\win32\mingw\bin\make debug-gcce 
sbs -c arm.v5.udeb.gcce4_4_1 
python.exe is not recognized as an internal or external command, operable program or batch file. 
make: *** [debug-gcce] Error 9009 

я заметил, что sbs_home был установлен в каталог питона, но он не был в пути, то сделайте не мог найти raptor_start.py сценария:

C:\...drivers\psql>echo %sbs_home% 
C:\QtSDK\Symbian\tools\sbs\win32\python27 
C:\...drivers\psql>set path=%path%;%sbs_home% 
C:\...drivers\psql>C:\QtSDK\Symbian\tools\sbs\win32\mingw\bin\make debug-gcce 
sbs -c arm.v5.udeb.gcce4_4_1 
python.exe: can't open file C:\QtSDK\Symbian\tools\sbs\win32\python27\python\raptor_start.py': [Errno 2] No such file or directory 
make: *** [debug-gcce] Error 2 
C:\...drivers\psql>set sbs_home=C:\QtSDK\Symbian\tools\sbs 

так, когда я начал компиляции я получил эту ошибку:

C:/QtSDK/Symbian/SDKs/Symbian3Qt474/epoc32/include/stdapis/stlportv5/stl/_istream.c:650: warning: suggest parentheses around '&&' within '||' target  : epoc32\release\armv5\udeb\qsqlpsql.dll [arm.v5.udeb.gcce4_4_1] 
FAILED linkandpostlink for arm.v5.udeb.gcce4_4_1: epoc32\release\armv5\udeb\qsqlpsql.dll 
    mmp: qsqlpsql_dll.mmp 
c:/qtsdk/symbian/tools/gcce4/bin/../lib/gcc/arm-none-symbianelf/4.4.1/../../../../arm-none-symbianelf/bin/ld.exe: warning: C:/QtSDK/Symbian/SDKs/Symbian3Qt474/epoc32/release/armv5/udeb/usrt3_1.lib(ucppinit.o) uses variable-size enums yet the output is to use 32-bit enums; use of enum values across objects may fail 
C:/QtSDK/Symbian/SDKs/Symbian3Qt474/epoc32/build/psql/c_8d95259b570e1766/qsqlpsql_dll/armv5/udeb/qsql_psql.o: In function `qMakeError': C:/QtSDK/QtSources/4.8.1/src/sql/drivers/psql/qsql_psql.cpp:175: undefined reference to `PQerrorMessage' 

.... много неопределенных ссылок ...

C:/QtSDK/QtSources/4.8.1/src/sql/drivers/psql/qsql_psql.cpp:117: undefined reference to `PQfreemem' 
collect2: ld returned 1 exit status 

mingw32-make[1]: *** [C:/QtSDK/Symbian/SDKs/Symbian3Qt474/epoc32/release/armv5/udeb/qsqlpsql.dll] Error 1 
sbs: error: The make-engine exited with errors. 

sbs : warnings: 3 
sbs : errors: 2 

built 'arm.v5.udeb.gcce4_4_1' 

Run time 5 seconds 

sbs: build log in C:\QtSDK\Symbian\SDKs\Symbian3Qt474\epoc32\build\Makefile.2012-06-26-15-03-12.78-2996.log 
make: *** [debug-gcce] Error 1 

Есть идеи, что с этим?

ответ

0

Вы пытаетесь создать приложение Symbian/ARM, используя предварительно скомпилированную двоичную клиентскую библиотеку postgresql для Windows. Это никогда не будет работать. instructions вы ссылаетесь только на то, как строить для OS X, Unix и Mac цели изначально. Вы перекрестно компилируете для Symbian.

Сначала вам нужно получить двоичную версию клиентской библиотеки postgresql, скомпилированной для Symbian. Он может существовать там, или вам, возможно, придется скомпилировать его самостоятельно. Я не думаю, что библиотека поддерживает Symbian как цель, и я не мог легко найти любые порты Symbian для загрузки. Возможно, вам не повезло для тривиального решения. Порт может не быть полностью исключен, хотя, возможно, код, специфичный для платформы, достаточно локализован.

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