[ROOT] root and WinNT

From: GENTIT Francois-Xavier DAPNIA (GENTIT@DAPNIA.CEA.FR)
Date: Tue Jun 13 2000 - 13:49:35 MEST


     Dear Mr Reiner Geyer and dear rooters,
     I am not sure that I had the same kind of problem as Mr Reiner, but
here is my experience concerning Root and WinNT : I have never compiled ROOT
itself on WinNT. I have compiled and linked a program based on ROOT, in
debug mode and in release mode, and I have also compiled and linked .dll
files, all this using Visual C++.
  (1) - I give below the file "makefile1.mak", an example of a makefile that
I use to compile and link a program named "Litrani" in debug mode. (Please
remove the "1" in "makefile1.mak" before use).
  (2) - I give below the file "makefile2.mak", an example of a makefile that
I use to compile and link a program named "Litrani" in release mode. (Please
remove the "2" in "makefile2.mak" before use).
  (3) - I give below the file "makefile3.mak", an example of a makefile that
I use to compile and link a .dll file named "mlpfit.dll" in debug mode.
(Please remove the "3" in "makefile3.mak" before use).

    Notice that before trying to build programs or dll under Visual C++
starting from makefiles, you have to indicate to Visual C++ :

  (1) - where are your .h and .cpp files using :
            "Project" -> "add to project"
  (2) - where are the root libraries, using :
            "Tools"->"Options" -> "Library files"
  (3) - where are the root include files using :
            "Tools" -> "Options" -> "Include files"
   (4) - it is also necessary to change the default name that Visual C++ has
assigned to your program ( which is "makefile.exe" ) by the name of your
program in the makefile ( for instance "litrani.exe"), using :
            "Project" -> "Setting" ->"General" -> "Output file name" ->
litrani.exe
            "Project" -> "Setting" -> "Debug" -> "Executable for debug
session" -> litrani.exe

  If you follow that recipe, I can guarantee that it works. However, there
are things that I have never succeeded to do under WinNT, although I had the
help of a specialist of NT as clever as Valery Fine :
  
  (1) - I have never succeeded in debugging a .dll file. I do not know how
to indicate to Visual C++ that I want to debug a .dll file.
  (2) - I do not know how to produce a .dll file in "release" mode. If you
use my file "makefile3.mak" to produce a .dll file, you will notice that it
produces a .dll file in debug mode. I have not found how to change the
makefile in such a way that it produces a .dll file in release mode.

   This leads me to ask for a specific documentation on how to use ROOT on
NT. A good start for such a documentation is the web site of Andrew Haas :
http://glast.phys.washington.edu/~haas/home.html
   but many things are missing in this site, for instance the use of Visual
C++ starting from makefiles.

 <<makefile1.mak>>  <<makefile2.mak>>  <<makefile3.mak>> 





Hi Reiner,
I am forwarding your message to Francois-Xavier Gentit who had
recently a similar request/problem and finally solved it.
Xavier, in case you answer this mail, could you provide
a verbose answer such that we can post this information
somewhere on the Root pages.
Thanks in advance.

Rene Brun

On Fri, 9 Jun 2000 sciencesoft-analyst@listbox.cern.ch wrote:

> 
> 
> Message : 
>    
>    I would appreciate your advice in understanding and eventually
>    resolving the query referred to below. My personal remarks are:
>    
>     Can you please answer?
>    Thanks you, Nicole. 
>    
>    Best regards,  Nicole Cremel   
>    Scientific Software Analyst  / IT User Support
>    ---------------------------------------------------------------------
>    Query.........: http://cern.ch/consult/problem/10892
>    User Email....: Reiner.Geyer@cern.ch 
>    User Subject..: root and WINNT  
>    
>    User Statement:
>    
>     
>    From:    Reiner.Geyer@cern.ch
>     To:      helpdesk@cern.ch
>     Date:    Fri, 09 Jun 2000 12:14:07 +0200
>     Subject: root and WINNT
>     
>    -----------------------------------------------------
>     Problems with linking root under WINNT.
>     I try to compile the example programs under winnt. 
>     I call the make file with nmake (but I also tried it with the
Developer
>     Studio). In both cases i get a similar error message during linking:
>     
>     
>     
>     >>>>>>>>>>>>>>>
>     C:\Home\cern\reinerg\root\test>nmake
>     
>     Microsoft (R) Program Maintenance Utility   Version 1.62.7022
>     Copyright (C) Microsoft Corp 1988-1997. All rights reserved.
>     
>             link /NODEFAULTLIB /INCREMENTAL:NO  /RELEASE /NOLOGO
>     -entry:_DllMainCRTS
>     tartup@12 -dll Hello.obj HelloDict.obj
>     C:\home\cern\reinerg\root/lib/*.lib msvcr
>     t.lib oldnames.lib kernel32.lib  ws2_32.lib mswsock.lib advapi32.lib
>     user32.lib
>     gdi32.lib comdlg32.lib winspool.lib MSVCIRT.LIB /out:Hello.dll
>     C:\home\cern\reinerg\root/lib/Root_Cint.lib : fatal error LNK1106:
>     invalid file
>     or disk full: cannot seek to 0x39301e6c
>     NMAKE : fatal error U1077: 'link' : return code '0xc'
>     Stop.
>     
>     Can you help?
>     Than you very much!
>     
>     Reiner Geyer
>     Tel. 74546








This archive was generated by hypermail 2b29 : Tue Jan 02 2001 - 11:50:27 MET