Exported Class Error

Damien Gibson via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Fri Jul 14 21:31:12 PDT 2017


Hi. I find myself comming back here alot which is a little 
discouraging.

This time around, I have a dll im making, right now its 32bit 
using dmd cause i have been getting better information when 
compile errors occur.

if i have a class in it, and i call export on all the functions i 
want exposed and attempt to use this class in an application that 
calls either a static or shared lib it fails to compile giving me 
an error:

  Error 42: Symbol Undefined _D4asfw7network6server6server7__ClassZ
obj\Debug\serverApp.obj(serverApp)
  Error 42: Symbol Undefined 
_D4asfw7network6server6server6__ctorMFkZC4asfw7network6server6server
obj\Debug\serverApp.obj(serverApp)
  Error 42: Symbol Undefined _D4asfw7network6server12__ModuleInfoZ
Error: linker exited with status 3
Exit code 3

I had compiled in LDC2 compiler and this particular error was 
extended a little more to tell me that all 3 of these errors are 
caused on the exact same line where i declare a class object i 
named socket (outside of said function so its global) --

'socket = new Server(my param data);'

My main assumption was much less that the first and third error 
reports meant anything significant in this case but moreso 
because it wasnt finding the constructor which seems to me to 
point at the __ctor one. However when i open the shared library 
with depends.exe the exact 
'_D4asfw7network6server6server6__ctorMFkZC4asfw7network6server6server' exists in the dll, just without the _ at the beginning so im thinking maybe something about the .di file is making it think there should be a _ at the beginning and maybe some way i can modify the di will make it stop adding this because that function IS there.

Also i am not sure if this is a related issue, but i have another 
dll which the above mentioned problem dll and app cant find some 
structures i made unless i specificly compile it as a static 
library and the structure does happen to be used IN the 
constructor of the server object that keeps failing.

Any help would be appreciated ive been trying to figure out what 
the heck to do with this for about 2 days now and not getting an 
inch further.


More information about the Digitalmars-d-learn mailing list