> But if I tried to build shared libraries, I
> must copy the manifest specification file for
> each exe or dll file into bin/win32-x86 manually.
I created mantis entry 231.
> I also found that I can not execute the catools such as
> caget/cainfo/camonitor correctly.
This appears to be related to this line in caget.
setvbuf(stdout,NULL,_IOLBF,0); /* Set stdout to line buffering */
Apparently the new ms CRTL assert fails 2 <= size <= INT_MAX. That's a new
feature of visual C++ 2005 (see
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/
_crt_setvbuf.asp). This does not match POSIX (see
http://www.opengroup.org/onlinepubs/007908799/xsh/setvbuf.html).
I did find that making this change appears to fix the problem.
setvbuf(stdout,NULL,_IOLBF,2); /* Set stdout to line buffering */
I created mantis entry 230.
Jeff
> -----Original Message-----
> From: guobao shen [mailto:[email protected]]
> Sent: Wednesday, November 23, 2005 5:09 AM
> To: 'Jeff Hill'; 'Vladimir Sirotenko'; [email protected]
> Subject: RE: EPICS base compiling using Visual C++ 2005 Express
>
> Dear Dr. Jeff and Dr. Vladimir,
>
> Thank you very much.
>
> I succeeded in the compilation after removing the TD from the fdopen
> specification.
> If I tried to build static libraries, there was no problem. But if I tried
> to build shared
> libraried, I must copy the manifest specification file for each exe or dll
> file into
> bin/win32-x86 manually.
>
> I also found that I can not execute the catools such as
> caget/cainfo/camonitor correctly.
> The only error message is "caget.exe has encountered a problem and needs
> to
> close."
>
> Can you give any suggestion?
>
> Thanks again.
>
> Best Regards,
>
> Guobao Shen
> J-PARC Control Group
>
>
> >
> > I looked into this "w+bTD" verses "W+B".
> >
> > The purpose of this code is to open an identical type of
> > temporary file on all OS. This particular problem is, of
> > course, in Microsoft specific code working with previous
> > versions, but not with Visual C++ 2005.
> >
> > The very latest documentation at MS with a 2005 time stamp on
> > it lists "T"
> > and "D" as valid Microsoft specific options to _fdopen. This
> > therefore smells like a bug at MS. Nevertheless, the proposed
> > change appears to work - not creating any permanent files on
> > the disk. This is probably because roughly equivalent options
> > are specified to the preceding open().
> >
> > We have committed the suggested change - ETA R3.14.8.
> >
> > Jeff
> >
> > > -----Original Message-----
> > > From: Vladimir Sirotenko [mailto:[email protected]]
> > > Sent: Tuesday, November 22, 2005 9:34 AM
> > > To: guobao shen; [email protected]
> > > Subject: Re: EPICS base compiling using Visual C++ 2005 Express
> > >
> > > Try to do the following, it worked for us:
> > >
> > > Antelope failed to run correctly because it could not create a
> > > temporary file.
> > > Modify src\libCom\osi\WIN32\epicsTempFile.cpp and remove
> > the TD from
> > > the fdopen specification.
> > >
> > > pNewFile = _fdopen ( fd, "w+b" ); instead of pNewFile =
> > > _fdopen ( fd, "w+bTD" );
> > >
> > > Vladimir
> > >
- References:
- RE: EPICS base compiling using Visual C++ 2005 Express guobao shen
- Navigate by Date:
- Prev:
Re: EDM wants to build on vxWorks-68040 target. Why? Ernest L. Williams Jr.
- Next:
RE: EDM on Windows + Hummingbird? Liyu, Andrei
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
<2005>
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
- Navigate by Thread:
- Prev:
RE: EPICS base compiling using Visual C++ 2005 Express guobao shen
- Next:
EDM on Windows + Hummingbird? Michael E Urashka
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
<2005>
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
|