I got a problem with compiling root examples on my win32xp platform.
The tools I installed are “root”, “cygwin” and “eclipse” and the samples
I tried to compile was /root/test/guitest .
I get the following error message:
*** multiple target patterns. Stop.
In the net I found some solution by replacing the include paths with
unix style paths in eclipse.
Didn’t help.
you could tell eclipse that you want make to be started as make -p. This will produce a lot of output, but you’ll see the problematic rule - as you said, it’s probably going to be a windows style path. Once you’ve spotted it you’ll surely be able to fix it!
Thank you, but it won’t work.
I always get the same error message ‘multiple target patterns. Stop’.
I think I tried every possible way of giving eclipse path names.
I am too new in this business to follow your steps. I don’t get any further
output than “multiple target patterns” when I check the -p option in eclipse.
I am not able to write makefiles and actually I don’t understand (yet) the need of them at all. That’s why I use eclipse.
If I play around with the include paths in eclipse, I get either the above
error message or the compiler complains about already defined stuff.
Actually, I get different outputs each time I run “Build all”. I will try to
learn more about all this before I bother you with further questions.
try to specify “/cygdrive/c/root/include” as include path instead of “C:\root\include”. And I believe your ROOT build was with the Microsoft Visual C++ compiler, while you are trying to build with cygwin GCC. Those two are not compatible. You should probably use MS DevStudio Express which costs 0$ instead of Eclipse; check Google for where to get it.
I gave it up and started to use VC++ 8.0 as we now have a license.
Anyway, I encounter problems just compiling the RootIDE example
which can be found in $Rootsys\test. Why I doesn’t just compile? There
is even a project file. I included all libraries (except libnew.lib) and still
get the following error messages (on the web): people.web.psi.ch/grillenberger/ … ildLog.htm
As your BuildLog says:
main : warning PRJ0042 : The ‘Outputs’ property for the custom build step for file ‘LinkDef.h’ is not set. The custom build step will be skipped.
This means the dictionary is not generated, and from there come the unresolved externals…
Please verify in the project properties, In BuildEvents, Pre-Build Event, this command exists:
rootcint -f RIDEDict.cxx: TGRootIDE.h LinkDef.h
(this should generate the dictionary)
And RIDEDict.cxx must be included in your project source files.
can you check that ROOTSYS is set correctly? (i.e. c:\root)
If it is set correctly, can you try to mount c: as /c with the following command (in a cygwin shell): mount c: /c(to avoid /cygdrive/c), and then try again.
[quote=“bellenot”]Strange… I never seen this problem before…
can you check that ROOTSYS is set correctly? (i.e. c:\root)
If it is set correctly, can you try to mount c: as /c with the following command (in a cygwin shell): mount c: /c(to avoid /cygdrive/c), and then try again.
– Bertrand.[/quote]
Hi,
Tried everything. Nothing works Also the reinstallation makes me sad.
I dont know… Gotta give up?
There is no reason to give up, using cygwin to compile Root should be easy (many users are using this way).
Can you post your environment variables (as ROOTSYS, PATH, LIB, INCLUDE,…) and your compiler and linker versions (just type cl and link in a command prompt)
OK, I think the problem comes from incomplete environment settings for Visual Studio…
To set-up correctly the environment variables for Visual Studio, you should add this line at the beginning of your cygwin.bat:call "C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\Tools\vsvars32.bat"(please adapt to .NET 2005)
Your settings must contain INCLUDE and LIB variables, looking like this:
INCLUDE=C:\Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\include\;C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include;C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include;And:
LIB=C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Lib;C:\Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\Lib\;C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\lib;C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Lib;C:\Program Files\Microsoft Visual Studio\DF98\LIB; (still to be adapted to .NET 2005) Then everything should work properly.