Приветствую всех.
Тут появилась необходимость написать прогу под линь, которая будет работать с дб ораклом(а именно на диплом
). Вопрос : как собрать драйвер ?
как указано в ассистенте не получается.
Сам делаю так :
скопировал инклуды оракла в папку qt/include
-rw-r--r-- 1 root root 33230 2006-02-05 08:50 nzerror.h
-rw-r--r-- 1 root root 85310 2006-02-05 08:50 nzt.h
-rw-r--r-- 1 root root 11600 2006-02-05 08:50 occiAQ.h
-rw-r--r-- 1 root root 38724 2006-02-05 08:50 occiCommon.h
-rw-r--r-- 1 root root 73063 2006-02-05 08:50 occiControl.h
-rw-r--r-- 1 root root 35218 2006-02-05 08:50 occiData.h
-rw-r--r-- 1 root root 2115 2006-02-05 08:50 occi.h
-rw-r--r-- 1 root root 29156 2006-02-05 08:50 occiObjects.h
-rw-r--r-- 1 root root 7155 2006-02-05 08:50 oci1.h
-rw-r--r-- 1 root root 10361 2006-02-05 08:50 oci8dp.h
-rw-r--r-- 1 root root 410791 2006-02-05 08:50 ociap.h
-rw-r--r-- 1 root root 6055 2006-02-05 08:50 ociapr.h
-rw-r--r-- 1 root root 43225 2006-02-05 08:50 ocidef.h
-rw-r--r-- 1 root root 4014 2006-02-05 08:50 ocidem.h
-rw-r--r-- 1 root root 11331 2006-02-05 08:50 ocidfn.h
-rw-r--r-- 1 root root 8954 2006-02-05 08:50 ociextp.h
-rw-r--r-- 1 root root 150915 2006-02-05 08:50 oci.h
-rw-r--r-- 1 root root 6638 2006-02-05 08:50 ocikpr.h
-rw-r--r-- 1 root root 4351 2006-02-05 08:50 ocixmldb.h
-rw-r--r-- 1 root root 19099 2006-02-05 08:50 odci.h
-rw-r--r-- 1 root root 6605 2006-02-05 08:50 oratypes.h
-rw-r--r-- 1 root root 15031 2006-02-05 08:50 orid.h
-rw-r--r-- 1 root root 102726 2006-02-05 08:50 ori.h
-rw-r--r-- 1 root root 157674 2006-02-05 08:50 orl.h
-rw-r--r-- 1 root root 42626 2006-02-05 08:50 oro.h
-rw-r--r-- 1 root root 116591 2006-02-05 08:50 ort.h
-rw-r--r-- 1 root root 9520 2006-02-05 08:50 xa.h
скопировал lib в папку qt/lib
lrwxrwxrwx 1 root root 17 2006-10-28 17:41 libclntsh.so -> libclntsh.so.10.1*
-rwxr-xr-x 1 root root 18715358 2006-06-13 20:01 libclntsh.so.10.1*
-rwxr-xr-x 1 root root 5623881 2006-02-05 08:50 libnnz10.so*
lrwxrwxrwx 1 root root 15 2006-10-28 17:41 libocci.so -> libocci.so.10.1*
-rwxr-xr-x 1 root root 1396604 2006-02-05 08:50 libocci.so.10.1*
-rwxr-xr-x 1 root root 4279056 2006-06-13 20:01 libociicus.so*
-rwxr-xr-x 1 root root 119871 2006-02-05 08:50 libocijdbc10.so*
делаю qmake -project && qmake oci.pro && make
получаю
tuki-tuki@linux:~> cd Program_files/qt/plugins/src/sqldrivers/oci/
tuki-tuki@linux:~/Program_files/qt/plugins/src/sqldrivers/oci> qmake -project
tuki-tuki@linux:~/Program_files/qt/plugins/src/sqldrivers/oci> qmake oci.pro
tuki-tuki@linux:~/Program_files/qt/plugins/src/sqldrivers/oci> make
g++ -Wl,-rpath,/usr/lib/qt3/lib/ -o oci .obj/release-shared/qsql_oci.o -L/usr/lib/mysql/ -L/home/tuki-tuki/Program_files/qt/lib -L/usr/X11R6/lib -L/usr/X11R6/lib -lqt -lGLU -lGL -lXmu -lXrender -lXrandr -lXcursor -lXinerama -lXft -lfreetype -lfontconfig -lXext -lX11 -lm -lSM -lICE -ldl
collect2: ld returned 1 exit status
make: *** [oci] Ошибка 1
tuki-tuki@linux:~/Program_files/qt/plugins/src/sqldrivers/oci >
по ассистенту почти тоже самое :
tuki-tuki@linux:~/Program_files/qt/plugins/src/sqldrivers/oci> cat run
#!/bin/sh
qmake -o Makefile "INCLUDEPATH+=-I/opt/oracle/instantclient_10_2/sdk/include" "LIBS+=-L/opt/oracle/lib -lclntsh" oci.pro
tuki-tuki@linux:~/Program_files/qt/plugins/src/sqldrivers/oci> sh run
tuki-tuki@linux:~/Program_files/qt/plugins/src/sqldrivers/oci> make
g++ -Wl,-rpath,/usr/lib/qt3/lib/ -o oci .obj/release-shared/qsql_oci.o -L/usr/lib/mysql/ -L/home/tuki-tuki/Program_files/qt/lib -L/usr/X11R6/lib -L/usr/X11R6/lib -L/opt/oracle/lib -lclntsh -lqt -lGLU -lGL -lXmu -lXrender -lXrandr -lXcursor -lXinerama -lXft -lfreetype -lfontconfig -lXext -lX11 -lm -lSM -lICE -ldl
collect2: ld returned 1 exit status
make: *** [oci] Ошибка 1
tuki-tuki@linux:~/Program_files/qt/plugins/src/sqldrivers/oci>
Что делаю не так ?
полностью оракл не ставил, нашел только этот пакет : oracle-instantclient-10.2.0.2-2.1.i586.rpm, может не он ?.
Так же пробовал собрать его в винде, делал точно также, все инклуды принял bcb, только спросил про OCI.LIB
добавлено спустя 8 часов 21 минуту: чуть подумав, и пошарив по инету, скачал оракл и вытащил от туда три папки, которые упоминаются в ассистенте, вот что получил :
tuki-tuki@linux:~/Program_files/qt/plugins/src/sqldrivers/oci> make
g++ -Wl,-rpath,/usr/lib/qt3/lib/ -o oci .obj/release-shared/qsql_oci.o -L/usr/lib/mysql/ -L/home/tuki-tuki/Program_files/qt/lib -L/usr/X11R6/lib -L/usr/X11R6/lib -L/home/tuki-tuki/oci/lib -lclntsh -lqt -lGLU -lGL -lXmu -lXrender -lXrandr -lXcursor -lXinerama -lXft -lfreetype -lfontconfig -lXext -lX11 -lm -lSM -lICE -ldl
/usr/lib/gcc/i586-suse-linux/4.1.0/../../../crt1.o: In function `_start':
init.c:(.text+0x18): undefined reference to `main'
collect2: ld returned 1 exit status
make: *** [oci] Ошибка 1
tuki-tuki@linux:~/Program_files/qt/plugins/src/sqldrivers/oci>