Thread overview |
---|
January 15, 2011 (coff)-Implib lib from dll | ||||
---|---|---|---|---|
| ||||
Hey guys, I'm trying to connect to my mysql-server on windows. I'm using the mysql binding from http://www.steinmole.de/d/ because as I know the DDBI project doesn't support D2. I followed the instructions on the site and first created the lib file with implib with the following command: "implib libmysql.lib libmysql.dll" (without "). Next, I changed the extern(C) statement in mysql.d to extern(Windows). Now... I create a simple application with the following source: module test; pragma(lib, "libmysql.lib"); import mysql; int main(string[] args) { MYSQL* mysql; mysql = mysql_init(null); mysql_close(mysql); return 0; } I'm trying to compile the source file by using the following command: "dmd -d test.d mysql.d" (without quotas). The result is the following: test.obj(test) Error 42: Symbol Undefined _mysql_init@4 test.obj(test) Error 42: Symbol Undefined _mysql_close@4 --- errorlevel 2 I also tried "dmd -d test.d mysql.d libmysql.lib" without any success. When I remove the extern-statement from mysql.d, I get similar errors. Note... I'm using the github-version 0.2.3 which was released last week. I think my mistake is the linking because the binding works on Linux. But... not on Windows - perhaps... anyone know how what I'm doing wrong? Thanks... |
January 15, 2011 Re: (coff)-Implib lib from dll | ||||
---|---|---|---|---|
| ||||
Posted in reply to %u | Am 15.01.2011 17:07, schrieb %u:
> Hey guys,
>
> I'm trying to connect to my mysql-server on windows. I'm using the mysql binding from http://www.steinmole.de/d/ because as I know the
> DDBI project doesn't support D2.
> I followed the instructions on the site and first created the lib file with implib with the following command: "implib libmysql.lib
> libmysql.dll" (without ").
> Next, I changed the extern(C) statement in mysql.d to extern(Windows).
>
> Now... I create a simple application with the following source:
>
> module test;
>
> pragma(lib, "libmysql.lib");
>
> import mysql;
>
> int main(string[] args) {
>
> MYSQL* mysql;
> mysql = mysql_init(null);
> mysql_close(mysql);
>
> return 0;
>
> }
>
> I'm trying to compile the source file by using the following command:
> "dmd -d test.d mysql.d" (without quotas). The result is the following:
>
> test.obj(test)
> Error 42: Symbol Undefined _mysql_init@4
> test.obj(test)
> Error 42: Symbol Undefined _mysql_close@4
> --- errorlevel 2
>
> I also tried "dmd -d test.d mysql.d libmysql.lib" without any success. When I remove the extern-statement from mysql.d, I get similar
> errors.
>
> Note... I'm using the github-version 0.2.3 which was released last week.
>
> I think my mistake is the linking because the binding works on Linux. But... not on Windows - perhaps... anyone know how what I'm doing
> wrong?
>
> Thanks...
Did you try to use the system flag ('/system') for implib which adds leading underscores? I had a similar problem and that solved it for me.
|
January 15, 2011 Re: (coff)-Implib lib from dll | ||||
---|---|---|---|---|
| ||||
Posted in reply to Mafi | I just used "implib libmysql.lib libmysql.dll /system" but it produces the same errors. |
January 15, 2011 Re: (coff)-Implib lib from dll | ||||
---|---|---|---|---|
| ||||
Posted in reply to nrgyzer | Am 15.01.2011 17:46, schrieb nrgyzer:
> I just used "implib libmysql.lib libmysql.dll /system" but it produces
> the same errors.
In the implib help it says:
"implib [switches] libfile [ dllfile | deffile ]"
I'm not sure but implib could be picky about where the switches are.
Mafi
|
January 15, 2011 Re: (coff)-Implib lib from dll | ||||
---|---|---|---|---|
| ||||
Posted in reply to Mafi | Thanks, but didn't help to change to "implib /system libmysql.lib libmysql.dll" - some errors. |
Copyright © 1999-2021 by the D Language Foundation