EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  <20042005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  <20042005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: RE: Problem linking a Channel Access application on Windows using Visual Studio
From: "Russ Berg" <[email protected]>
To: "Jeff Hill" <[email protected]>, <[email protected]>, <[email protected]>
Date: Fri, 9 Jan 2004 09:17:59 -0600
Hi Steve, 
I just added dbf_type_to_DBR_TIME to a project that I have been working
on and it linked up fine, I stepped through the call and it is using
dbf_text_dim instead of _dbf_text_dim, so my thought is that you may
have a name mangling issue. I am using Borland C++ Builder 6 and I have
to import the DLL to a .lib file before I can use it, in that process I
handle the name mangling. The import utils are implib and impdef, both
come with cppbuilder. 

In case your interested here is a help dump of each:

H:\>impdef

Borland Impdef Version 3.0.22 Copyright (c) 1991, 2000 Inprise
Corporation

Syntax: IMPDEF [options] destname[.def] srcname[.dll]
Options:
    -a     Add '_' alias for MS flavor cdecl functions
    -h     Emit hints


H:\>implib

Borland Implib Version 3.0.22 Copyright (c) 1991, 2000 Inprise
Corporation

Syntax: IMPLIB [options] libname[.lib] [@respfile | srcname] [srcname
....]
 Options:
    -a     Add '_' alias for MS flavor cdecl functions
    -c     Case sensitive symbols
    -f     Force imports by name (with hints)
    -w     No Warnings

Respfile may contain a list of source files to process.
Wildcards are ok for .DLL and .DEF file names.



-Russ

-----Original Message-----
From: Jeff Hill [mailto:[email protected]] 
Sent: Thursday, January 08, 2004 4:55 PM
To: [email protected]; [email protected]
Subject: RE: Problem linking a Channel Access application on Windows
using Visual Studio



Steve,

The file README.WIN32 in the R3.14.4 distribution has a discussion about
building application outside of the EPICS build system. Read section (6)
for the details. Let me know if you are still experiencing troubles.

Jeff


> -----Original Message-----
> From: [email protected] [mailto:[email protected]]
> Sent: Tuesday, January 06, 2004 10:06 PM
> To: [email protected]
> Subject: Problem linking a Channel Access application on Windows using

> Visual Studio
> 
> G'day,
> 
> I'm hoping that someone can help me with a problem I'm having with 
> linking a Channel Access (3.14.4) program that I'm writing on windows 
> 2000 using Visual Studio C++ Version 6.0.
> 
> Everything was compiling and linking fine (using a variety of 
> different Channel Access functions) until I found that I needed to use

> the dbf_type_to_DBR_TIME macro which is defined in db_access.h.  At 
> this point, attempting to link the application resulted in the 
> following error:
> 
> ============================================================
> --------------------Configuration: mcatest - Win32
> Debug--------------------
> Linking...
> Channel.obj : error LNK2001: unresolved external symbol _dbf_text_dim 
> Debug/mcatest.exe : fatal error LNK1120: 1 unresolved externals Error 
> executing link.exe.
> 
> mcatest.exe - 2 error(s), 0 warning(s) 
> ============================================================
> 
> The symbol dbf_text_dim is used by the macro dbf_type_to_DBR_TIME and 
> is defined in access.cpp.  I've checked with the Visual Studio 
> Dependency Walker and have verified that dbf_text_dim is in the ca.dll

> and ca.lib files.
> 
> I am at a loss to understand why the linker cannot resolve this 
> symbol. Is there anyone out there who can tell me what I need to do to

> get my application to link correctly so that I can use the 
> dbf_type_to_DBR_TIME macro?
> 
> Steve Banks
> Australian Synchrotron Project
> Department of Infrastructure
> Level 18, 80 Collins Street
> Melbourne   VIC   3000
> tel:  +613 9655 6303
> fax:  +613 9655 8666
> web: www.synchrotron.vic.gov.au





Navigate by Date:
Prev: RE: Problem linking a Channel Access application on Windows using Visual Studio Jeff Hill
Next: R3.14 compatible drvSerial and drvAscii Allan Honey
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  <20042005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: RE: Problem linking a Channel Access application on Windows using Visual Studio Jeff Hill
Next: RE: Problem linking a Channel Access application on Windows using Visual Studio Steven . Banks
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  <20042005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 10 Aug 2010 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·