www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - [newbie] Compilation problem

reply tsalm <tsalm free.fr> writes:
Hi all,

I'm trying to compile a project that using DFL.
There's no problem to compile my project with dsss.

But when I compile it inside Poseidon, it seems that it don't find some  
libraries...

Here is the output :

C:\DMD\dmd\bin\dmd.exe   
C:\Users\Florent\Desktop\Projets\DFile\DFile\tests\InternalWinPanelTest.d  
C:\Users\Florent\Desktop\Projets\DFile\GlobalLook.obj  
C:\Users\Florent\Desktop\Projets\DFile\DFile\ui\InternalWinPanel.d  
C:\Users\Florent\Desktop\Projets\DFile\SplitPanel.obj -ofDFile  
C:\DMD\dmd\lib\dfl.lib

C:\DMD\dmd\bin\link.exe  
InternalWinPanelTest+C:\Users\Florent\Desktop\Projets\DFile\GlobalLook+InternalWinPanel+C:\Users\Florent\Desktop\Projets\DFile\SplitPanel,DFile,,C:\DMD\dmd\lib\dfl.lib+user32+kernel32/noi+tango-user-dmd.lib;

OPTLINK (R) for Win32  Release 8.00.1
Copyright (C) Digital Mars 1989-2004  All rights reserved.
C:\DMD\dmd\lib\dfl.lib(control)
  Error 42: Symbol Undefined _D3dfl8internal12_stdcwindows6LOWORDFiZt
C:\DMD\dmd\lib\dfl.lib(control)
  Error 42: Symbol Undefined _D3dfl8internal12_stdcwindows6HIWORDFiZt
--- errorlevel 2


Finished



Thanks in advance,
TSalm


-- 
Utilisant le client e-mail révolutionnaire d'Opera :  
http://www.opera.com/mail/
Apr 07 2008
next sibling parent Jason House <jason.james.house gmail.com> writes:
tsalm wrote:

 Hi all,
 
 I'm trying to compile a project that using DFL.
 There's no problem to compile my project with dsss.
 
 But when I compile it inside Poseidon, it seems that it don't find some
 libraries...
 
 Here is the output :
 
 C:\DMD\dmd\bin\dmd.exe
 C:\Users\Florent\Desktop\Projets\DFile\DFile\tests\InternalWinPanelTest.d
 C:\Users\Florent\Desktop\Projets\DFile\GlobalLook.obj
 C:\Users\Florent\Desktop\Projets\DFile\DFile\ui\InternalWinPanel.d
 C:\Users\Florent\Desktop\Projets\DFile\SplitPanel.obj -ofDFile
 C:\DMD\dmd\lib\dfl.lib
 
 C:\DMD\dmd\bin\link.exe
 InternalWinPanelTest+C

\Users\Florent\Desktop\Projets\DFile\SplitPanel,DFile,,C \DMD\dmd\lib\dfl.lib+user32+kernel32/noi+tango-user-dmd.lib;
 
 OPTLINK (R) for Win32  Release 8.00.1
 Copyright (C) Digital Mars 1989-2004  All rights reserved.
 C:\DMD\dmd\lib\dfl.lib(control)
   Error 42: Symbol Undefined _D3dfl8internal12_stdcwindows6LOWORDFiZt
 C:\DMD\dmd\lib\dfl.lib(control)
   Error 42: Symbol Undefined _D3dfl8internal12_stdcwindows6HIWORDFiZt
 --- errorlevel 2
 
 
 Finished
 
 
 
 Thanks in advance,
 TSalm
 
 

I don't think I can help, but... Most build methods have an option for dumping the literal commands they run. Comparing what dsss and poseidon do may give some clues. I do know that dsss tends to build all components and link all the object files while other methods compile less and rely on linking in a prebuilt library.
Apr 07 2008
prev sibling parent reply "Neil Vice" <psgdg swiftdsl.com.au> writes:
"tsalm" <tsalm free.fr> wrote in message 
news:op.t89cnxr6010shu papillon.lan...
 Hi all,

 I'm trying to compile a project that using DFL.
 There's no problem to compile my project with dsss.

 But when I compile it inside Poseidon, it seems that it don't find some 
 libraries...

 Here is the output :

 C:\DMD\dmd\bin\dmd.exe 
 C:\Users\Florent\Desktop\Projets\DFile\DFile\tests\InternalWinPanelTest.d 
 C:\Users\Florent\Desktop\Projets\DFile\GlobalLook.obj 
 C:\Users\Florent\Desktop\Projets\DFile\DFile\ui\InternalWinPanel.d 
 C:\Users\Florent\Desktop\Projets\DFile\SplitPanel.obj -ofDFile 
 C:\DMD\dmd\lib\dfl.lib

 C:\DMD\dmd\bin\link.exe 
 InternalWinPanelTest+C:\Users\Florent\Desktop\Projets\DFile\GlobalLook+InternalWinPanel+C:\Users\Florent\Desktop\Projets\DFile\SplitPanel,DFile,,C:\DMD\dmd\lib\dfl.lib+user32+kernel32/noi+tango-user-dmd.lib;

 OPTLINK (R) for Win32  Release 8.00.1
 Copyright (C) Digital Mars 1989-2004  All rights reserved.
 C:\DMD\dmd\lib\dfl.lib(control)
  Error 42: Symbol Undefined _D3dfl8internal12_stdcwindows6LOWORDFiZt
 C:\DMD\dmd\lib\dfl.lib(control)
  Error 42: Symbol Undefined _D3dfl8internal12_stdcwindows6HIWORDFiZt
 --- errorlevel 2


 Finished



 Thanks in advance,
 TSalm


 -- 
 Utilisant le client e-mail révolutionnaire d'Opera : 
 http://www.opera.com/mail/

I've encountered issues before where I encountered undefined symbols if I compiled all files in one call (like you seem to have) as opposed to compiling each individually with -c and then linking the result obj files. Might be worth a try.
Apr 08 2008
parent tsalm <tsalm free.fr> writes:
 I'm trying to compile a project that using DFL.
 There's no problem to compile my project with dsss.

 But when I compile it inside Poseidon, it seems that it don't find some
 libraries...

 Here is the output :

 C:\DMD\dmd\bin\dmd.exe
 C:\Users\Florent\Desktop\Projets\DFile\DFile\tests\InternalWinPanelTest.d
 C:\Users\Florent\Desktop\Projets\DFile\GlobalLook.obj
 C:\Users\Florent\Desktop\Projets\DFile\DFile\ui\InternalWinPanel.d
 C:\Users\Florent\Desktop\Projets\DFile\SplitPanel.obj -ofDFile
 C:\DMD\dmd\lib\dfl.lib

 C:\DMD\dmd\bin\link.exe
 InternalWinPanelTest+C:\Users\Florent\Desktop\Projets\DFile\GlobalLook+InternalWinPanel+C:\Users\Florent\Desktop\Projets\DFile\SplitPanel,DFile,,C:\DMD\dmd\lib\dfl.lib+user32+kernel32/noi+tango-user-dmd.lib;

 OPTLINK (R) for Win32  Release 8.00.1
 Copyright (C) Digital Mars 1989-2004  All rights reserved.
 C:\DMD\dmd\lib\dfl.lib(control)
  Error 42: Symbol Undefined _D3dfl8internal12_stdcwindows6LOWORDFiZt
 C:\DMD\dmd\lib\dfl.lib(control)
  Error 42: Symbol Undefined _D3dfl8internal12_stdcwindows6HIWORDFiZt
 --- errorlevel 2

compiled all files in one call (like you seem to have) as opposed to compiling each individually with -c and then linking the result obj files. Might be worth a try.

Thanks to you and to Jason for your response. Oddly, and specifically to this problem, the problem is resolv if I add the DFL source file "internal/_stdcwindows.d" where HIWORD and LOWORD are defined. -- Utilisant le client e-mail révolutionnaire d'Opera : http://www.opera.com/mail/
Apr 09 2008