[疑难] DDBI D语言数据库接口具体怎么编译?怎么用?
jinheking
2007-03-01
我下载了两个包0.2.4 0.2.5,后一个需要tango,我连tango都安装不上,郁闷!
第一个我倒是便已成功了,就是不知道怎么用?*.lib要放在什么位置?怎么调用! 对不起,我是一个新手,没有接触过,以前主要是学习java.最近被D Lang吸引,开始学习! 请各位老大不吝赐教! |
|
ideage
2007-03-01
1.lib可以放在dmd\lib\下,只要编译器在编译时可以找到就好了. 2.请参见 http://ideage.iteye.com/blog/34553 |
|
jinheking
2007-03-02
我把dbi.lib 和DBI目录全部放到了dmd\lib下面,这时候提示这个错误
pg.d(2): module all cannot read file 'dbi\all.d' |
|
ideage
2007-03-02
DBI目录 最好放在 dmd/import 目录下.
编译程序(用DMD)是使用 -I.. 选项. |
|
jinheking
2007-03-02
我的dmd下面本来没有import目录,我自己建立了一个,并且把dbi目录也copy了过去,但是错误依然
|
|
jinheking
2007-03-02
我把dbi目录copy到本目录进行编译通过了,但是有新的问题
dmd pg.d D:\LAMP\dmd\dmd\bin\..\..\dm\bin\link.exe pg,,,user32+kernel32/noi; OPTLINK (R) for Win32 Release 7.50B1 Copyright (C) Digital Mars 1989 - 2001 All Rights Reserved pg.obj(pg) Error 42: Symbol Undefined _D3dbi2pg10PgDatabase10PgDatabase7__ClassZ pg.obj(pg) Error 42: Symbol Undefined _D3dbi2pg10PgDatabase10PgDatabase5_ctorMFZC3dbi2pg10 PgDatabase10PgDatabase --- errorlevel 2 而且编译的可执行文件不能够运行 |
|
ideage
2007-03-02
1.修改一下sc.ini
例如我的是: [Version] version=7.51 Build 020 [Environment] LIB="%@P%\..\lib";\dm\lib DFLAGS="-I%@P%\..\src\phobos;D:\D\dmd\import" LINKCMD=%@P%\..\..\dm\bin\link.exe 2.先编译库. 例如编译sqlite,使用implib和sqlite3.dll生成一个 sqllite3.lib 使用 dmd -run builddbi.d sqlite 编译生成dbi.lib 3.再编译应用程序.引用dbi.lib,sqllite3.lib dmd test.d dbi.lib sqllite3.lib -I.. |