Thread overview | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
|
June 04, 2005 FreeType Binding | ||||
---|---|---|---|---|
| ||||
Attachments: | OK, So I spent hours and hours porting all 77 files, got a billion errors, worked on that for many hours, and decided to go the back way and implement ONLY the functions and definitions I needed to render basic text, and work from there.
So far this has been MUCH more successfully, spare the 4 or 5 structs that are referred to in the headers, but never defined (not in the source either).
HOWEVER, now that I have it compiling and all, I am trying to use it, and I get an error like this...
test.d(160): function freetype.FT_Init_FreeType (FT_LibraryRec_ **)
does not match argument types (FT_LibraryRec_ **)
I am statically linking a lib I compiled in MSVC.NET and converted with coff2omf, plus the lib from my binding of freetype I wrote in D.
I have tried C and Windows linkage. Nothing seems to work.
I attached a copy of my simplified binding. There are commented out lines, which all had to be muted because they use one of the 4 or 5 missing type definitions.
If anyone has any advice, or a clue why the compiler would tell me that the arguments don't match, and than show me they are identical types, PLEASE let me know.
Thanks in advance.
--
Thanks,
Trevor Parscal
www.trevorparscal.com
trevorparscal@hotmail.com
|
June 04, 2005 Re: FreeType Binding | ||||
---|---|---|---|---|
| ||||
Posted in reply to Trevor Parscal | "Trevor Parscal" <trevorparscal@hotmail.com> wrote in message news:d7qu93$1lg8$1@digitaldaemon.com... > OK, So I spent hours and hours porting all 77 files, got a billion errors, worked on that for many hours, and decided to go the back way and implement ONLY the functions and definitions I needed to render basic text, and work from there. > > So far this has been MUCH more successfully, spare the 4 or 5 structs that are referred to in the headers, but never defined (not in the source either). > > HOWEVER, now that I have it compiling and all, I am trying to use it, and I get an error like this... > > test.d(160): function freetype.FT_Init_FreeType (FT_LibraryRec_ **) > does not match argument types (FT_LibraryRec_ **) note if you put the function declarations after the struct declarations in freetype.d it seems to work fine (at least in my tiny test). I put the functions at the very end. This may be a bug with forward declarations. |
June 04, 2005 Re: FreeType Binding | ||||
---|---|---|---|---|
| ||||
Posted in reply to Ben Hinkle | Ben Hinkle wrote: > note if you put the function declarations after the struct declarations in freetype.d it seems to work fine (at least in my tiny test). I put the functions at the very end. > This may be a bug with forward declarations. It worked.. thanks. Ben Hinkle = my hero... Forward Reference Bug = my enemy -- Thanks, Trevor Parscal www.trevorparscal.com trevorparscal@hotmail.com |
June 04, 2005 Re: FreeType Binding | ||||
---|---|---|---|---|
| ||||
Posted in reply to Ben Hinkle | Ben Hinkle wrote:
> "Trevor Parscal" <trevorparscal@hotmail.com> wrote in message news:d7qu93$1lg8$1@digitaldaemon.com...
>
>>OK, So I spent hours and hours porting all 77 files, got a billion
>>errors, worked on that for many hours, and decided to go the back way
>>and implement ONLY the functions and definitions I needed to render
>>basic text, and work from there.
>>
>>So far this has been MUCH more successfully, spare the 4 or 5 structs
>>that are referred to in the headers, but never defined (not in the
>>source either).
>>
>>HOWEVER, now that I have it compiling and all, I am trying to use it,
>>and I get an error like this...
>>
>>test.d(160): function freetype.FT_Init_FreeType (FT_LibraryRec_ **)
>>does not match argument types (FT_LibraryRec_ **)
>
>
> note if you put the function declarations after the struct declarations in freetype.d it seems to work fine (at least in my tiny test). I put the functions at the very end.
> This may be a bug with forward declarations.
>
>
on linux it compiled without any changes using 'dmd -c freetype.d'.
|
June 04, 2005 Re: FreeType Binding | ||||
---|---|---|---|---|
| ||||
Posted in reply to clayasaurus | clayasaurus wrote: > Ben Hinkle wrote: > >> "Trevor Parscal" <trevorparscal@hotmail.com> wrote in message news:d7qu93$1lg8$1@digitaldaemon.com... >> >>> OK, So I spent hours and hours porting all 77 files, got a billion >>> errors, worked on that for many hours, and decided to go the back way >>> and implement ONLY the functions and definitions I needed to render >>> basic text, and work from there. >>> >>> So far this has been MUCH more successfully, spare the 4 or 5 structs >>> that are referred to in the headers, but never defined (not in the >>> source either). >>> >>> HOWEVER, now that I have it compiling and all, I am trying to use it, >>> and I get an error like this... >>> >>> test.d(160): function freetype.FT_Init_FreeType (FT_LibraryRec_ **) >>> does not match argument types (FT_LibraryRec_ **) >> >> >> >> note if you put the function declarations after the struct declarations in freetype.d it seems to work fine (at least in my tiny test). I put the functions at the very end. >> This may be a bug with forward declarations. >> > > on linux it compiled without any changes using 'dmd -c freetype.d'. > Compiling the lib is no problem. Using it causes the problem.. :) -- Thanks, Trevor Parscal www.trevorparscal.com trevorparscal@hotmail.com |
June 04, 2005 Re: FreeType Binding | ||||
---|---|---|---|---|
| ||||
Posted in reply to Trevor Parscal | Well, now I am facing this... Libraries\FreeType.lib(ftinit) Error 42: Symbol Undefined __RTC_CheckEsp Libraries\FreeType.lib(winfnt) Error 42: Symbol Undefined @_RTC_CheckStackVars@8 Libraries\FreeType.lib(pshinter) Error 42: Symbol Undefined __RTC_UninitUse Libraries\FreeType.lib(psmodule) Error 42: Symbol Undefined ___security_cookie Libraries\FreeType.lib(psmodule) Error 42: Symbol Undefined @__security_check_cookie@4 OK, so if I compiled the lib with MSVC.NET, and converted it with (Digital Mars) coff2omf, why is it mising these sybmols? Any ideas of other ways to get this working? Experiences with MSVC.NET incompatibility? -- Thanks, Trevor Parscal www.trevorparscal.com trevorparscal@hotmail.com |
June 04, 2005 Re: FreeType Binding | ||||
---|---|---|---|---|
| ||||
Posted in reply to Trevor Parscal | I guess I am just flooding this group today.. Sorry.. Anyhoo, I am using a NON microsoft compiled lib now, which doesn't freak out like that one did... and here is my new problem.. Source\Terra\Primitives\Drawing\Composite.obj(Composite) Error 42: Symbol Undefined _FT_Init_FreeType Source\Terra\Primitives\Drawing\Composite.obj(Composite) Error 42: Symbol Undefined _FT_Done_FreeType Is there something i don't know about making a static lib? should I be making a .def file for these functions? They are defined in the freetype.d file which I compiled to a lib.. -- Thanks, Trevor Parscal www.trevorparscal.com trevorparscal@hotmail.com |
June 04, 2005 Re: FreeType Binding | ||||
---|---|---|---|---|
| ||||
Posted in reply to Trevor Parscal | "Trevor Parscal" <trevorparscal@hotmail.com> wrote in message news:d7r1hv$1nhp$1@digitaldaemon.com... > Ben Hinkle wrote: > >> note if you put the function declarations after the struct declarations >> in freetype.d it seems to work fine (at least in my tiny test). I put the >> functions at the very end. >> This may be a bug with forward declarations. > > It worked.. thanks. > > Ben Hinkle = my hero... > > Forward Reference Bug = my enemy > > -- > Thanks, > Trevor Parscal > www.trevorparscal.com > trevorparscal@hotmail.com Narrowing down the shortest reproduction steps and posting to the bugs newsgroup will help Walter squash these things. I think many people here have been bitten by odd things like this enough that one develops the ability to smell forward-reference-bugs from 50 yards. |
June 04, 2005 Re: FreeType Binding | ||||
---|---|---|---|---|
| ||||
Posted in reply to Trevor Parscal | "Trevor Parscal" <trevorparscal@hotmail.com> wrote in message news:d7r37e$1olh$1@digitaldaemon.com... >I guess I am just flooding this group today.. Sorry.. > > Anyhoo, I am using a NON microsoft compiled lib now, which doesn't freak out like that one did... > > and here is my new problem.. > > Source\Terra\Primitives\Drawing\Composite.obj(Composite) > Error 42: Symbol Undefined _FT_Init_FreeType > Source\Terra\Primitives\Drawing\Composite.obj(Composite) > Error 42: Symbol Undefined _FT_Done_FreeType > > Is there something i don't know about making a static lib? should I be making a .def file for these functions? They are defined in the freetype.d file which I compiled to a lib.. > > -- > Thanks, > Trevor Parscal > www.trevorparscal.com > trevorparscal@hotmail.com The freetype.d file just has the extern(C) void foo() declarations, correct? You need to link in the actual implementations. I'm confused when you say "they are defined in freetype.d which I compiled to a lib" about which libs you're referring to. You shouldn't compile freetype.d into a lib - you should compile the c code that contains the implementations into a lib. |
Copyright © 1999-2021 by the D Language Foundation