digitalmars.D.learn - compile/link problems(real newbie question)
- Munchgreeble bigfoot.com (134/134) Nov 21 2005 Hi There,
- John C (7/166) Nov 21 2005 I can see a couple of problems, probably unrelated to your IDE. File nam...
- Munchgreeble (38/55) Nov 22 2005 OK, thanks. We're getting somewhere. Code::Blocks automatically pulled i...
- Carlos Santander (6/51) Nov 22 2005 Your problem is right in the first warning (I'd call it an error): phobo...
- Munchgreeble (33/36) Nov 23 2005 Brilliant - thanks =) We're getting ever closer. There is no problem wit...
- Carlos Santander (4/44) Nov 23 2005 Gee, now I don't know. I truly have no idea, sorry.
- John Reimer (5/51) Nov 23 2005 Is phobos.lib being linked in twice? I can't make out what the link
- Munchgreeble (8/14) Nov 24 2005 I don't know how Code::Blocks calls the compiler I'm afraid - it's not
- Georg Wrede (10/13) Nov 24 2005 Yesterday I made a nice way to snoop at the linker parameters:
Hi There, I've tried quite a few different ways of getting my first D program to compile - I finally got it going on the command line (Cygwin), but Code::Blocks just doesn't want to play ball. I've tried looking on a couple of the different FAQs around, but none of them seem to answer basic questions about common compiler problems. I know I know, once I get this working I should go update the wiki so that the next poor soul who comes along can have some assistance. I will try to get around to that! OK, so I'm on WinXP. My two current ways of attempting a build are in Code::Blocks with the D modified binary (as indicated here: http://www.prowiki.org/wiki4d/wiki.cgi?EditorSupport#CodeBlocks) and also from the commandline in Cygwin, using Vim (which now comes with D syntax highlighting as standard - hoorah). I've got past a few errors (working out what needed to be where for some of the hardcoded relative paths to work, complaints about corrupted libraries etc.) but I'm left with this in Code::Blocks and I'm stuck: Project : Console application Compiler : Digital Mars D Compiler (called directly) Directory : C:\d-projects\first\ -------------------------------------------------------------------------------- Switching to target: default Compiling: first.d Linking console executable: C:\Documents and Settings\raf\My Documents\d-projects\first\first.exe link /nologo /delexe .objs\first.obj C:\dmd\lib\phobos.lib C:\dmd\lib\WS2_32.LIB C:\dm\lib\snn.lib ,C:\Documents and Settings\raf\My Documents\d-projects\first\first.exe,,C:\dmd\lib\\ C:\dm\lib\\ , OPTLINK (R) for Win32 Release 7.50B1 Copyright (C) Digital Mars 1989 - 2001 All Rights Reserved C:\dmd\lib\phobos.lib(ti_delegate) Offset 6DB0EH Record Type 0091 Error 1: Previous Definition Different : __init_10TypeInfo_D C:\dmd\lib\phobos.lib(ti_delegate) Offset 6DB28H Record Type 0091 Error 1: Previous Definition Different : __Class_10TypeInfo_D C:\dmd\lib\phobos.lib(ti_delegate) Offset 6DB41H Record Type 0091 Error 1: Previous Definition Different : __vtbl_10TypeInfo_D C:\dmd\lib\phobos.lib(ti_creal) Offset 6DFEBH Record Type 0091 Error 1: Previous Definition Different : __init_10TypeInfo_c C:\dmd\lib\phobos.lib(ti_creal) Offset 6E005H Record Type 0091 Error 1: Previous Definition Different : __Class_10TypeInfo_c C:\dmd\lib\phobos.lib(ti_creal) Offset 6E01EH Record Type 0091 Error 1: Previous Definition Different : __vtbl_10TypeInfo_c C:\dmd\lib\phobos.lib(ti_idouble) Offset 6FB20H Record Type 0091 Error 1: Previous Definition Different : __init_10TypeInfo_p C:\dmd\lib\phobos.lib(ti_idouble) Offset 6FB3AH Record Type 0091 Error 1: Previous Definition Different : __Class_10TypeInfo_p C:\dmd\lib\phobos.lib(ti_idouble) Offset 6FB53H Record Type 0091 Error 1: Previous Definition Different : __vtbl_10TypeInfo_p C:\dmd\lib\phobos.lib(ti_Acreal) Offset 76457H Record Type 0091 Error 1: Previous Definition Different : __init_11TypeInfo_Ac C:\dmd\lib\phobos.lib(ti_Acreal) Offset 76472H Record Type 0091 Error 1: Previous Definition Different : __Class_11TypeInfo_Ac C:\dmd\lib\phobos.lib(ti_Acreal) Offset 7648CH Record Type 0091 Error 1: Previous Definition Different : __vtbl_11TypeInfo_Ac C:\dmd\lib\WS2_32.LIB Offset 01A95H Record Type 0088 Error 1: Previous Definition Different : _htonl 4 C:\dmd\lib\WS2_32.LIB Offset 01AC5H Record Type 0088 Error 1: Previous Definition Different : _htons 4 C:\dmd\lib\WS2_32.LIB Offset 01BB5H Record Type 0088 Error 1: Previous Definition Different : _ntohl 4 C:\dmd\lib\WS2_32.LIB Offset 01BE5H Record Type 0088 Error 1: Previous Definition Different : _ntohs 4 C:\dm\lib\snn.lib(_exit2) Offset 00488H Record Type 00C3 Error 1: Previous Definition Different : __exit C:\dm\lib\snn.lib(stream) Offset 3D014H Record Type 00C3 Error 1: Previous Definition Different : ?WS YAAAVistream AAV1 Z (istream &cdecl WS(istream &)) C:\dm\lib\snn.lib(_wfopen) Offset 7898FH Record Type 00C3 Error 1: Previous Definition Different : __WFOPEN Settings\raf\My.lib Warning 2: File Not Found Settings\raf\My.lib Documents\d-projects\first\first.exe Warning 2: File Not Found Documents\d-projects\first\first.exe phobos.lib Warning 2: File Not Found phobos.lib stlp45dm_static.lib Warning 2: File Not Found stlp45dm_static.lib C:\dmd\lib\phobos.lib(com) Error 42: Symbol Undefined _IID_IUnknown C:\dmd\lib\phobos.lib(registry) Error 42: Symbol Undefined _RegQueryValueExA 24 C:\dmd\lib\phobos.lib(registry) Error 42: Symbol Undefined _RegCloseKey 4 C:\dmd\lib\phobos.lib(registry) Error 42: Symbol Undefined _RegQueryInfoKeyA 48 C:\dmd\lib\phobos.lib(registry) Error 42: Symbol Undefined _RegCreateKeyExA 36 C:\dmd\lib\phobos.lib(registry) Error 42: Symbol Undefined _RegOpenKeyExA 20 C:\dmd\lib\phobos.lib(registry) Error 42: Symbol Undefined _RegOpenKeyA 12 C:\dmd\lib\phobos.lib(registry) Error 42: Symbol Undefined _RegDeleteKeyA 8 C:\dmd\lib\phobos.lib(registry) Error 42: Symbol Undefined _RegSetValueExA 24 C:\dmd\lib\phobos.lib(registry) Error 42: Symbol Undefined _RegDeleteValueA 8 C:\dmd\lib\phobos.lib(registry) Error 42: Symbol Undefined _RegFlushKey 4 C:\dmd\lib\phobos.lib(registry) Error 42: Symbol Undefined _RegEnumKeyExA 32 C:\dmd\lib\phobos.lib(registry) Error 42: Symbol Undefined _RegEnumValueA 32 C:\dm\lib\snn.lib(winstart) Error 42: Symbol Undefined _WinMain 16 C:\dm\lib\snn.lib(wconstar) Error 42: Symbol Undefined _wmain C:\dm\lib\snn.lib(wwinstar) Error 42: Symbol Undefined _wWinMain 16 C:\dmd\lib\\Documents.res Warning 2: File Not Found C:\dmd\lib\\Documents.res C:\dm\lib\\Documents.res Warning 2: File Not Found C:\dm\lib\\Documents.res Process terminated with status 0 (0 minutes, 0 seconds) 35 errors, 0 warnings Any ideas? I've checked the dmd.zip and dmc.zip archives are intact and they check out OK. I've also tried playing around with what libraries to link to, but that doesn't help. I'd quite like to get to use Code::Blocks, because though I love vi, I'm currently using an IDE for project work (Eclipse), and I just know my poor fingers will get confused if I keep switching between the two all the time! Have I just completely missed the how to deal with libraries in code::blocks stuff or is it really obvious and I'm just being a clown? =) Thanks in advance Munch PS It would be nice to use Eclipse for this, but I got a bit confused by all the different alternative plugins recommended/disrecommended on the main D newsgroup and the conflicting opinions about which ones were broken etc. If anybody has a definite answer on this and a link to go to to d/l the plugin, that would be great. Thanks! PPS the successful build I get at the Cygwin command line looks very different when it executes (see below) - the link command is completely different to the one which Code::Blocks produces. I'm guessing this is something to do with the reason Code::Blocks isn't working? $ dmd first.d c:\dmd\bin\..\..\dm\bin\link.exe first,,,user32+kernel32/noi;
Nov 21 2005
<Munchgreeble bigfoot.com> wrote in message news:dltpg9$ps9$1 digitaldaemon.com...Hi There, I've tried quite a few different ways of getting my first D program to compile - I finally got it going on the command line (Cygwin), but Code::Blocks just doesn't want to play ball. I've tried looking on a couple of the different FAQs around, but none of them seem to answer basic questions about common compiler problems. I know I know, once I get this working I should go update the wiki so that the next poor soul who comes along can have some assistance. I will try to get around to that! OK, so I'm on WinXP. My two current ways of attempting a build are in Code::Blocks with the D modified binary (as indicated here: http://www.prowiki.org/wiki4d/wiki.cgi?EditorSupport#CodeBlocks) and also from the commandline in Cygwin, using Vim (which now comes with D syntax highlighting as standard - hoorah). I've got past a few errors (working out what needed to be where for some of the hardcoded relative paths to work, complaints about corrupted libraries etc.) but I'm left with this in Code::Blocks and I'm stuck: Project : Console application Compiler : Digital Mars D Compiler (called directly) Directory : C:\d-projects\first\ -------------------------------------------------------------------------------- Switching to target: default Compiling: first.d Linking console executable: C:\Documents and Settings\raf\My Documents\d-projects\first\first.exe link /nologo /delexe .objs\first.obj C:\dmd\lib\phobos.lib C:\dmd\lib\WS2_32.LIB C:\dm\lib\snn.lib ,C:\Documents and Settings\raf\My Documents\d-projects\first\first.exe,,C:\dmd\lib\\ C:\dm\lib\\ , OPTLINK (R) for Win32 Release 7.50B1 Copyright (C) Digital Mars 1989 - 2001 All Rights ReservedI can see a couple of problems, probably unrelated to your IDE. File names with spaces are known to give the linker problems - try using a relative path instead or a DOS-style path. You might also need to link in kernel32.lib, user32.lib and uuid.lib. Also, you don't have to link with phobos, as D does it automatically.C:\dmd\lib\phobos.lib(ti_delegate) Offset 6DB0EH Record Type 0091 Error 1: Previous Definition Different : __init_10TypeInfo_D C:\dmd\lib\phobos.lib(ti_delegate) Offset 6DB28H Record Type 0091 Error 1: Previous Definition Different : __Class_10TypeInfo_D C:\dmd\lib\phobos.lib(ti_delegate) Offset 6DB41H Record Type 0091 Error 1: Previous Definition Different : __vtbl_10TypeInfo_D C:\dmd\lib\phobos.lib(ti_creal) Offset 6DFEBH Record Type 0091 Error 1: Previous Definition Different : __init_10TypeInfo_c C:\dmd\lib\phobos.lib(ti_creal) Offset 6E005H Record Type 0091 Error 1: Previous Definition Different : __Class_10TypeInfo_c C:\dmd\lib\phobos.lib(ti_creal) Offset 6E01EH Record Type 0091 Error 1: Previous Definition Different : __vtbl_10TypeInfo_c C:\dmd\lib\phobos.lib(ti_idouble) Offset 6FB20H Record Type 0091 Error 1: Previous Definition Different : __init_10TypeInfo_p C:\dmd\lib\phobos.lib(ti_idouble) Offset 6FB3AH Record Type 0091 Error 1: Previous Definition Different : __Class_10TypeInfo_p C:\dmd\lib\phobos.lib(ti_idouble) Offset 6FB53H Record Type 0091 Error 1: Previous Definition Different : __vtbl_10TypeInfo_p C:\dmd\lib\phobos.lib(ti_Acreal) Offset 76457H Record Type 0091 Error 1: Previous Definition Different : __init_11TypeInfo_Ac C:\dmd\lib\phobos.lib(ti_Acreal) Offset 76472H Record Type 0091 Error 1: Previous Definition Different : __Class_11TypeInfo_Ac C:\dmd\lib\phobos.lib(ti_Acreal) Offset 7648CH Record Type 0091 Error 1: Previous Definition Different : __vtbl_11TypeInfo_Ac C:\dmd\lib\WS2_32.LIB Offset 01A95H Record Type 0088 Error 1: Previous Definition Different : _htonl 4 C:\dmd\lib\WS2_32.LIB Offset 01AC5H Record Type 0088 Error 1: Previous Definition Different : _htons 4 C:\dmd\lib\WS2_32.LIB Offset 01BB5H Record Type 0088 Error 1: Previous Definition Different : _ntohl 4 C:\dmd\lib\WS2_32.LIB Offset 01BE5H Record Type 0088 Error 1: Previous Definition Different : _ntohs 4 C:\dm\lib\snn.lib(_exit2) Offset 00488H Record Type 00C3 Error 1: Previous Definition Different : __exit C:\dm\lib\snn.lib(stream) Offset 3D014H Record Type 00C3 Error 1: Previous Definition Different : ?WS YAAAVistream AAV1 Z (istream &cdecl WS(istream &)) C:\dm\lib\snn.lib(_wfopen) Offset 7898FH Record Type 00C3 Error 1: Previous Definition Different : __WFOPEN Settings\raf\My.lib Warning 2: File Not Found Settings\raf\My.lib Documents\d-projects\first\first.exe Warning 2: File Not Found Documents\d-projects\first\first.exe phobos.lib Warning 2: File Not Found phobos.lib stlp45dm_static.lib Warning 2: File Not Found stlp45dm_static.lib C:\dmd\lib\phobos.lib(com) Error 42: Symbol Undefined _IID_IUnknown C:\dmd\lib\phobos.lib(registry) Error 42: Symbol Undefined _RegQueryValueExA 24 C:\dmd\lib\phobos.lib(registry) Error 42: Symbol Undefined _RegCloseKey 4 C:\dmd\lib\phobos.lib(registry) Error 42: Symbol Undefined _RegQueryInfoKeyA 48 C:\dmd\lib\phobos.lib(registry) Error 42: Symbol Undefined _RegCreateKeyExA 36 C:\dmd\lib\phobos.lib(registry) Error 42: Symbol Undefined _RegOpenKeyExA 20 C:\dmd\lib\phobos.lib(registry) Error 42: Symbol Undefined _RegOpenKeyA 12 C:\dmd\lib\phobos.lib(registry) Error 42: Symbol Undefined _RegDeleteKeyA 8 C:\dmd\lib\phobos.lib(registry) Error 42: Symbol Undefined _RegSetValueExA 24 C:\dmd\lib\phobos.lib(registry) Error 42: Symbol Undefined _RegDeleteValueA 8 C:\dmd\lib\phobos.lib(registry) Error 42: Symbol Undefined _RegFlushKey 4 C:\dmd\lib\phobos.lib(registry) Error 42: Symbol Undefined _RegEnumKeyExA 32 C:\dmd\lib\phobos.lib(registry) Error 42: Symbol Undefined _RegEnumValueA 32 C:\dm\lib\snn.lib(winstart) Error 42: Symbol Undefined _WinMain 16 C:\dm\lib\snn.lib(wconstar) Error 42: Symbol Undefined _wmain C:\dm\lib\snn.lib(wwinstar) Error 42: Symbol Undefined _wWinMain 16 C:\dmd\lib\\Documents.res Warning 2: File Not Found C:\dmd\lib\\Documents.res C:\dm\lib\\Documents.res Warning 2: File Not Found C:\dm\lib\\Documents.res Process terminated with status 0 (0 minutes, 0 seconds) 35 errors, 0 warnings Any ideas? I've checked the dmd.zip and dmc.zip archives are intact and they check out OK. I've also tried playing around with what libraries to link to, but that doesn't help. I'd quite like to get to use Code::Blocks, because though I love vi, I'm currently using an IDE for project work (Eclipse), and I just know my poor fingers will get confused if I keep switching between the two all the time! Have I just completely missed the how to deal with libraries in code::blocks stuff or is it really obvious and I'm just being a clown? =) Thanks in advance Munch PS It would be nice to use Eclipse for this, but I got a bit confused by all the different alternative plugins recommended/disrecommended on the main D newsgroup and the conflicting opinions about which ones were broken etc. If anybody has a definite answer on this and a link to go to to d/l the plugin, that would be great. Thanks! PPS the successful build I get at the Cygwin command line looks very different when it executes (see below) - the link command is completely different to the one which Code::Blocks produces. I'm guessing this is something to do with the reason Code::Blocks isn't working? $ dmd first.d c:\dmd\bin\..\..\dm\bin\link.exe first,,,user32+kernel32/noi;
Nov 21 2005
In article <dltrp4$rim$1 digitaldaemon.com>, John C says...<Munchgreeble bigfoot.com> wrote in message news:dltpg9$ps9$1 digitaldaemon.com...OK, thanks. We're getting somewhere. Code::Blocks automatically pulled in those libraries (including phobos) - they weren't specified by me. Having now deleted the list of directories from which Code::Blocks automatically pulls libraries in, and added each of the libraries you suggested by hand, I am no longer getting complaints about things being redefined. However, I still have errors (see below). Surpirsingly these errors don't seem to be any different if I remove *all* the libraries! Thanks in advance for your help. Munch Project : hello Compiler : Digital Mars D Compiler (called directly) Directory : C:\d-projects\hello\ -------------------------------------------------------------------------------- Switching to target: default Compiling: first.d Linking executable: C:\d-projects\hello\hello.exe link /nologo /delexe /subsystem:windows .objs\first.obj C:\dm\lib\UUID.LIB C:\dm\lib\KERNEL32.LIB C:\dm\lib\USER32.LIB ,C:\d-projects\hello\hello.exe,,, OPTLINK (R) for Win32 Release 7.50B1 Copyright (C) Digital Mars 1989 - 2001 All Rights Reserved phobos.lib Warning 2: File Not Found phobos.lib objs\first.obj(first) Error 42: Symbol Undefined _main objs\first.obj(first) Error 42: Symbol Undefined __acrtused_con objs\first.obj(first) Error 42: Symbol Undefined __init_11TypeInfo_Aa objs\first.obj(first) Error 42: Symbol Undefined __nullext objs\first.obj(first) Error 42: Symbol Undefined __ModuleInfo_3std5stdio objs\first.obj(first) Error 42: Symbol Undefined __ModuleInfo_3std6string OPTLINK : Warning 134: No Start Address Process terminated with status 0 (0 minutes, 0 seconds) 6 errors, 0 warningsSwitching to target: default Compiling: first.d Linking console executable: C:\Documents and Settings\raf\My Documents\d-projects\first\first.exe link /nologo /delexe .objs\first.obj C:\dmd\lib\phobos.lib C:\dmd\lib\WS2_32.LIB C:\dm\lib\snn.lib ,C:\Documents and Settings\raf\My Documents\d-projects\first\first.exe,,C:\dmd\lib\\ C:\dm\lib\\ , OPTLINK (R) for Win32 Release 7.50B1 Copyright (C) Digital Mars 1989 - 2001 All Rights ReservedI can see a couple of problems, probably unrelated to your IDE. File names with spaces are known to give the linker problems - try using a relative path instead or a DOS-style path. You might also need to link in kernel32.lib, user32.lib and uuid.lib. Also, you don't have to link with phobos, as D does it automatically.
Nov 22 2005
Munchgreeble escribió:OK, thanks. We're getting somewhere. Code::Blocks automatically pulled in those libraries (including phobos) - they weren't specified by me. Having now deleted the list of directories from which Code::Blocks automatically pulls libraries in, and added each of the libraries you suggested by hand, I am no longer getting complaints about things being redefined. However, I still have errors (see below). Surpirsingly these errors don't seem to be any different if I remove *all* the libraries! Thanks in advance for your help. Munch Project : hello Compiler : Digital Mars D Compiler (called directly) Directory : C:\d-projects\hello\ -------------------------------------------------------------------------------- Switching to target: default Compiling: first.d Linking executable: C:\d-projects\hello\hello.exe link /nologo /delexe /subsystem:windows .objs\first.obj C:\dm\lib\UUID.LIB C:\dm\lib\KERNEL32.LIB C:\dm\lib\USER32.LIB ,C:\d-projects\hello\hello.exe,,, OPTLINK (R) for Win32 Release 7.50B1 Copyright (C) Digital Mars 1989 - 2001 All Rights Reserved phobos.lib Warning 2: File Not Found phobos.lib objs\first.obj(first) Error 42: Symbol Undefined _main objs\first.obj(first) Error 42: Symbol Undefined __acrtused_con objs\first.obj(first) Error 42: Symbol Undefined __init_11TypeInfo_Aa objs\first.obj(first) Error 42: Symbol Undefined __nullext objs\first.obj(first) Error 42: Symbol Undefined __ModuleInfo_3std5stdio objs\first.obj(first) Error 42: Symbol Undefined __ModuleInfo_3std6string OPTLINK : Warning 134: No Start Address Process terminated with status 0 (0 minutes, 0 seconds) 6 errors, 0 warningsYour problem is right in the first warning (I'd call it an error): phobos.lib can't be found by OPTLINK. Did you move/rename/delete it? Maybe you need to check your sc.ini to see if everything is ok. -- Carlos Santander Bernal
Nov 22 2005
In article <dm0msc$fv2$2 digitaldaemon.com>, Carlos Santander says...Your problem is right in the first warning (I'd call it an error): phobos.lib can't be found by OPTLINK. Did you move/rename/delete it? Maybe you need to check your sc.ini to see if everything is ok.Brilliant - thanks =) We're getting ever closer. There is no problem with the phobos lib or sc.ini - the build works fine from the command line, it's just from within Code::Blocks that I have the problem. I guess it's something to do with the way it calls the compiler? Anyway, I've now put the dmd/lib back into the Code::Blocks link path, and it's not complaining about not being able to see phobos.lib any more. We now have just three errors: Project : Compiler : Digital Mars D Compiler (called directly) Directory : C:\d-projects\hello\ -------------------------------------------------------------------------------- Switching to target: default Compiling: first.d Linking executable: C:\d-projects\hello\hello.exe link /nologo /delexe /subsystem:windows .objs\first.obj ,C:\d-projects\hello\hello.exe,,..\..\dmd\lib\ , OPTLINK (R) for Win32 Release 7.50B1 Copyright (C) Digital Mars 1989 - 2001 All Rights Reserved .\..\dmd\lib\phobos.lib(ti_double) Offset 19FC5H Record Type 0091 Error 1: Previous Definition Different : __init_10TypeInfo_d .\..\dmd\lib\phobos.lib(ti_double) Offset 19FDFH Record Type 0091 Error 1: Previous Definition Different : __Class_10TypeInfo_d .\..\dmd\lib\phobos.lib(ti_double) Offset 19FF8H Record Type 0091 Error 1: Previous Definition Different : __vtbl_10TypeInfo_d Process terminated with status 0 (0 minutes, 0 seconds) 3 errors, 0 warnings Since it's complaining about inconsistencies, I can't help wondering if this version of Code::Blocks, which was released some time ago now, is having some incompatibility problems with the latest compiler/library. That would be a shame cause I guess it would mean this is the end of the road. If anybody has any suggestions please shout! Thanks Munch
Nov 23 2005
Munchgreeble escribió:Brilliant - thanks =) We're getting ever closer. There is no problem with the phobos lib or sc.ini - the build works fine from the command line, it's just from within Code::Blocks that I have the problem. I guess it's something to do with the way it calls the compiler? Anyway, I've now put the dmd/lib back into the Code::Blocks link path, and it's not complaining about not being able to see phobos.lib any more. We now have just three errors: Project : Compiler : Digital Mars D Compiler (called directly) Directory : C:\d-projects\hello\ -------------------------------------------------------------------------------- Switching to target: default Compiling: first.d Linking executable: C:\d-projects\hello\hello.exe link /nologo /delexe /subsystem:windows .objs\first.obj ,C:\d-projects\hello\hello.exe,,..\..\dmd\lib\ , OPTLINK (R) for Win32 Release 7.50B1 Copyright (C) Digital Mars 1989 - 2001 All Rights Reserved ..\..\dmd\lib\phobos.lib(ti_double) Offset 19FC5H Record Type 0091 Error 1: Previous Definition Different : __init_10TypeInfo_d ..\..\dmd\lib\phobos.lib(ti_double) Offset 19FDFH Record Type 0091 Error 1: Previous Definition Different : __Class_10TypeInfo_d ..\..\dmd\lib\phobos.lib(ti_double) Offset 19FF8H Record Type 0091 Error 1: Previous Definition Different : __vtbl_10TypeInfo_d Process terminated with status 0 (0 minutes, 0 seconds) 3 errors, 0 warnings Since it's complaining about inconsistencies, I can't help wondering if this version of Code::Blocks, which was released some time ago now, is having some incompatibility problems with the latest compiler/library. That would be a shame cause I guess it would mean this is the end of the road. If anybody has any suggestions please shout! Thanks MunchGee, now I don't know. I truly have no idea, sorry. -- Carlos Santander Bernal
Nov 23 2005
Munchgreeble wrote:In article <dm0msc$fv2$2 digitaldaemon.com>, Carlos Santander says...Is phobos.lib being linked in twice? I can't make out what the link command line is doing. Nor does it show how dmd was called. What are the dmd command line arguments? -JJRYour problem is right in the first warning (I'd call it an error): phobos.lib can't be found by OPTLINK. Did you move/rename/delete it? Maybe you need to check your sc.ini to see if everything is ok.Brilliant - thanks =) We're getting ever closer. There is no problem with the phobos lib or sc.ini - the build works fine from the command line, it's just from within Code::Blocks that I have the problem. I guess it's something to do with the way it calls the compiler? Anyway, I've now put the dmd/lib back into the Code::Blocks link path, and it's not complaining about not being able to see phobos.lib any more. We now have just three errors: Project : Compiler : Digital Mars D Compiler (called directly) Directory : C:\d-projects\hello\ -------------------------------------------------------------------------------- Switching to target: default Compiling: first.d Linking executable: C:\d-projects\hello\hello.exe link /nologo /delexe /subsystem:windows .objs\first.obj ,C:\d-projects\hello\hello.exe,,..\..\dmd\lib\ , OPTLINK (R) for Win32 Release 7.50B1 Copyright (C) Digital Mars 1989 - 2001 All Rights Reserved .\..\dmd\lib\phobos.lib(ti_double) Offset 19FC5H Record Type 0091 Error 1: Previous Definition Different : __init_10TypeInfo_d .\..\dmd\lib\phobos.lib(ti_double) Offset 19FDFH Record Type 0091 Error 1: Previous Definition Different : __Class_10TypeInfo_d .\..\dmd\lib\phobos.lib(ti_double) Offset 19FF8H Record Type 0091 Error 1: Previous Definition Different : __vtbl_10TypeInfo_d Process terminated with status 0 (0 minutes, 0 seconds) 3 errors, 0 warnings Since it's complaining about inconsistencies, I can't help wondering if this version of Code::Blocks, which was released some time ago now, is having some incompatibility problems with the latest compiler/library. That would be a shame cause I guess it would mean this is the end of the road. If anybody has any suggestions please shout! Thanks Munch
Nov 23 2005
I don't know how Code::Blocks calls the compiler I'm afraid - it's not configurable. I think I'm going to give up on Code::Blocks now. I've been getting on fine with Vim/Cygwin anyway, just get my editor commands mixed up sometimes. I guess I'll perhaps investigate the Eclipse plugins. Thanks for you help though everybody =) Cheers MunchIs phobos.lib being linked in twice? I can't make out what the link command line is doing. Nor does it show how dmd was called. What are the dmd command line arguments? -JJR
Nov 24 2005
John Reimer wrote:Is phobos.lib being linked in twice? I can't make out what the link command line is doing. Nor does it show how dmd was called. What are the dmd command line arguments?Yesterday I made a nice way to snoop at the linker parameters: Create a (on Windows) "link.bat", or (on Linux) "ld" (a shell script), that just prints out the parameters it got. Change your PATH so that the directory where this fake linker is, is first in PATH. Or why not create the fake linker with D and have it print the parameters in an even nicer format! :-) (Or for the _real_ lazy, copy hello.d from samples/d/, compile it and then rename it to "link.exe" or "ld".) I had it write the results in a file. ("/tmp/ld.out")
Nov 24 2005