Ulrik,
That is not happening for me with R3.13.10 on Windows. Here is
the output I get:
cl /nologo /EHsc /GR
-c
/D_CRT_SECURE_NO_DEPRECATE /D_CRT_NONSTDC_NO_DEPRECATE /D__STDC__=0
/RTCsu /Zi /W3 /w44355 -
DEPICS_BASE=h:/epics/base-3.14.10 /MTd
-DEPICS_DLL_NO -I. -I..\\O.Common
-I. -I.. -I..\\..\\..\\include\\os\\WIN32
-I..\\..\\..\\include /Tp
..\\softMain.cpp
softMain.cpp
Note that the –D for EPICS_BASE has forward slashes.
I am running Visual Studio 2005, Cygwin perl (v5.10.0). I believe
the version of make is an old version from Cygwin before they broke it.
Mark
-----Original Message-----
From: [email protected] [mailto:[email protected]] On
Behalf Of Pedersen, UK (Ulrik)
Sent: Thursday, July 16, 2009 5:19 AM
To: [email protected]
Subject: Escaped strings from fullPathName.pl
Hello,
In a recent attempt to build base R3.14.10 on Windows I have come
across
a build problem in src\softIoc\. The Makefile uses fullPathName.pl to
create an EPICS_BASE variable which is the full path to the base
installation. This is passed to the build of the softMain.cpp with the
-D flag and used in the code to create a C string.
Unfortunately fullPathName.pl creates a string with backslashes in it
(when expanding the relative path ../../..). The compiler falls over
when it get to compile this string with backslashes (see build output
below).
Strangely enough I have not come across this problem before when I have
build base R3.14.10 under Windows - but I'm now using a new PC with a
fresh installation of the build tools (Same versions as on my old PC
though: Visual Studio .NET 2003, MinGW 5.1.4 for make and perl
(ActiveState) 5.10.0.1003)
When I fun fullPathName.pl manually it always seems to produce paths
will backslashes on my PC.
I suppose a fix can be done either by adding a flag to fullPathName.pl
to force creation of paths with forward slashes - or alternatively
force
the src/softIoc/Makefile to always substitute backward with forward
slashes in the string contained in the EPICS_BASE (local) variable(???)
Here is the output of the build of src/softIoc/softMain.cpp:
cl /nologo /EHsc /GR
-c
/D_CRT_SECURE_NO_DEPRECATE
/D_CRT_NONSTDC_NO_DEPRECATE /D__STDC__=0 /Ox
/GL /W3 /w44355
-DEPICS_BASE=W:\work\up45\R3.14.10\base /MT -DEPICS_DLL_NO -I
. -I..\\O.Common -I. -I..
-I..\\..\\..\\include\\os\\WIN32
-I..\\..\\..\\include /Tp
..\\soft
Main.cpp
softMain.cpp
..\softMain.cpp(81) : warning C4129: 'u' : unrecognized character
escape
sequence
..\softMain.cpp(81) : error C3847: wrong symbol in universal character;
must use hex digits
..\softMain.cpp(81) : warning C4129: 'w' : unrecognized character
escape
sequence
..\softMain.cpp(81) : warning C4129: 'R' : unrecognized character
escape
sequence
..\softMain.cpp(82) : warning C4129: 'u' : unrecognized character
escape
sequence
..\softMain.cpp(82) : error C3847: wrong symbol in universal character;
must use hex digits
..\softMain.cpp(82) : warning C4129: 'w' : unrecognized character
escape
sequence
..\softMain.cpp(82) : warning C4129: 'R' : unrecognized character
escape
sequence
mingw32-make[1]: *** [softMain.obj] Error 2
mingw32-make[1]: Leaving directory
`W:/work/up45/R3.14.10/base/src/softIoc/O.win32-x86'
mingw32-make: *** [install.win32-x86] Error 2
Has anyone by any chance come across the same problem?
Cheers,
Ulrik
--------------------------------------------------------------------
Ulrik
Pedersen
phone: +44(0)1235-778580
Software
Engineer
email: [email protected]
Diamond Light Source Ltd.
Rutherford Appleton Laboratory,
Chilton, Didcot
Oxfordshire OX11 0DE
--------------------------------------------------------------------
--
Scanned by iCritical.