2012-06-26 16 views
-1

我正在嘗試爲Symbian設備創建postgresql插件,但無法編譯它。我正在使用Windows 7 64位。無法爲Symbian設備創建QT postgresql插件

我根據這篇文章所做的一切: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. 

所以,它看起來OK。然後......

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

您正在嘗試使用Windows的預編譯二進制postgresql客戶端庫構建Symbian/ARM應用程序。這將無法工作。您提到的instructions僅顯示如何爲本機生成OS X,Unix和Mac目標。你正在爲Symbian編譯。

您首先需要獲取爲Symbian編譯的postgresql客戶端庫的二進制版本。它可能存在那裏,或者你可能需要自己編譯它。我不認爲該庫支持Symbian作爲目標,並且我無法找到任何可供下載的Symbian端口。你可能會遇到一個微不足道的解決方案。然而,一個端口可能不是完全不可能的 - 也許平臺特定的代碼已經足夠本地化了。