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