Subject: |
Re: epicsRingPointer.h error C2664: 'delete' : cannot convert parameter |
From: |
"J. Lewis Muir" <[email protected]> |
To: |
EPICS Tech-Talk <[email protected]> |
Date: |
Mon, 09 Feb 2015 16:48:36 -0600 |
On 2/2/15 2:17 PM, Johnson, Andrew N. wrote:
> It sounds like you are building the vendor's code, which must be
> done with VC6, but can add your own code to their program. I can
> suggest a few ways to interface that with EPICS code built with a
> newer compiler: Use a socket or COM API to to communicate between
> the two sides, or make the interface a DLL with a C-only API as this
> should allow you to link with and call code from the other compiler. A
> DLL would give you a closer and faster interface, but might be more
> trouble to get working.
I'm just reporting back that I was able to get this to work. My library
was already presenting a C-only API, so I didn't need to do anything to
it. I compiled EPICS Base and my library using Visual C++ 2010 Express
SP1. (So it seems to be able to coexist with VC6.) I then compiled the
vendor-supplied program using VC6 and had it link against my library.
I tried two approaches, both of which worked: load-time dynamic
linking and run-time dynamic linking. For load-time dynamic linking,
I supplied, at compile-time, my library's .h file, .dll file, and .lib
file, and EPICS Base's shareLib.h (since my library's .h file includes
it), ca.dll, and Com.dll. At run-time, I supplied my library's .dll
file and EPICS Base's ca.dll and Com.dll.
For run-time dynamic linking, I just supplied, at compile-time, my
library's .h file and EPICS Base's shareLib.h (since my library's
.h file includes it), and, at run-time, my library's .dll file and
EPICS Base's ca.dll and Com.dll. I was able to call into my library's
DLL using Microsoft's LoadLibrary, GetProcAddress, and FreeLibrary
functions.
Thanks for the help!
Lewis
- References:
- epicsRingPointer.h error C2664: 'delete' : cannot convert parameter J. Lewis Muir
- Re: epicsRingPointer.h error C2664: 'delete' : cannot convert parameter Andrew Johnson
- Re: epicsRingPointer.h error C2664: 'delete' : cannot convert parameter J. Lewis Muir
- Re: epicsRingPointer.h error C2664: 'delete' : cannot convert parameter Johnson, Andrew N.
- Navigate by Date:
- Prev:
CA Repeater: bind test err was "The operation completed successfully. " J. Lewis Muir
- Next:
RE: CA Repeater: bind test err was "The operation completed successfully. " freddie.akeroyd
- 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: epicsRingPointer.h error C2664: 'delete' : cannot convert parameter Mark S. Engbretson
- Next:
Re: epicsRingPointer.h error C2664: 'delete' : cannot convert parameter Jani Hakala
- 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
|