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
<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: 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
<2004>
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
|