problem creating a 32-bit dll

nezih via Digitalmars-d digitalmars-d at puremagic.com
Tue Aug 26 13:41:26 PDT 2014


Thanks! That did the trick. Btw do you have any idea about 
getting rid of the linker's warning message about the user32.lib? 
I played with the LIB env variable in several ways and I also 
edited sc.ini to set the LIB but no luck so far.

dmd -g -w -version=UNICODE -m32 -Luser32.lib presto-x86.def  
client/*.d odbc/*.d driver/*.d -shared -ofpresto.dll
client\statementclient.d(102): Deprecation: function 
core.time.Duration.hours is deprecated - Please use split 
instead. hours was too frequently confused for total!"hours".
OPTLINK (R) for Win32  Release 8.00.15
Copyright (C) Digital Mars 1989-2013  All rights reserved.
http://www.digitalmars.com/ctg/optlink.html
OPTLINK : Warning 9: Unknown Option : NOIUSER32.LIB


On Tuesday, 26 August 2014 at 18:27:59 UTC, kdmult wrote:
> On Tuesday, 26 August 2014 at 14:48:05 UTC, nezih wrote:
>> Hi everyone,
>> I am trying to create a 32-bit dll (on windows server 2012 
>> 64-bit) for an odbc driver, but no luck so far.
>
> Create a text file presto-x86.def with contents as shown below 
> and add it to your $(SOURCES).
>
> --- presto-x86.def ---
> LIBRARY
> EXETYPE NT
> SUBSYSTEM WINDOWS
> EXPORTS
>   SQLAllocHandle
>   SQLBindCol
>   SQLBindParameter
>   SQLBrowseConnectW
>   SQLBulkOperations
>   SQLCancel
>   SQLCloseCursor
>   SQLColAttributeW
>   SQLColumnPrivilegesW
>   SQLColumnsW
>   SQLConnectW
>   SQLCopyDesc
>   SQLDescribeColW
>   SQLDescribeParam
>   SQLDisconnect
>   SQLDriverConnectW
>   SQLEndTran
>   SQLExecDirectW
>   SQLExecute
>   SQLFetch
>   SQLFetchScroll
>   SQLForeignKeysW
>   SQLFreeHandle
>   SQLFreeStmt
>   SQLGetConnectAttrW
>   SQLGetCursorNameW
>   SQLGetData
>   SQLGetDescFieldW
>   SQLGetDescRecW
>   SQLGetDiagFieldW
>   SQLGetDiagRecW
>   SQLGetEnvAttr
>   SQLGetInfoW
>   SQLGetStmtAttrW
>   SQLGetTypeInfoW
>   SQLMoreResults
>   SQLNativeSqlW
>   SQLNumParams
>   SQLNumResultCols
>   SQLParamData
>   SQLPrepareW
>   SQLPrimaryKeysW
>   SQLProcedureColumnsW
>   SQLProceduresW
>   SQLPutData
>   SQLRowCount
>   SQLSetConnectAttrW
>   SQLSetCursorNameW
>   SQLSetDescFieldW
>   SQLSetDescRec
>   SQLSetEnvAttr
>   SQLSetPos
>   SQLSetStmtAttrW
>   SQLSpecialColumnsW
>   SQLStatisticsW
>   SQLTablePrivilegesW
>   SQLTablesW
> ----------------------
>
> I have tested with the following command line:
>
> dmd -g -w -version=UNICODE -m32 -Luser32.lib -shared 
> -ofpresto.dll presto-x86.def client\json.d client\mockcurl.d 
> client\prestoerrors.d client\queryresults.d 
> client\statementclient.d client\util.d odbc\odbcinst.d 
> odbc\sql.d odbc\sqlext.d odbc\sqltypes.d odbc\sqlucode.d 
> driver\bindings.d driver\columnresults.d driver\driver.d 
> driver\getinfo.d driver\handles.d driver\prestoresults.d 
> driver\process.d driver\tableinfo.d driver\typeinfo.d 
> driver\util.d



More information about the Digitalmars-d mailing list