EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  <20182019  2020  2021  2022  2023  2024  Index 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  <20182019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: RE: Build error for windows-x64-debug on VS2010
From: <[email protected]>
To: <[email protected]>, <[email protected]>
Cc: [email protected]
Date: Tue, 6 Feb 2018 23:43:50 +0000
Hi Mark,

Do the enclosed changes fix it?

Regards,

Freddie

-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Mark Rivers
Sent: 06 February 2018 22:47
To: 'Michael Davidsaver'
Cc: [email protected]
Subject: RE: Build error for windows-x64-debug on VS2010

Hi Michael,

That fixed that error.  I then got the same error with channel.cpp, so I did the same fix in that file.

That then leads to this error, which I don't know how to fix:

make[1]: Entering directory 'H:/epics-devel/base-7.0.1/modules/pva2pva/pdbApp'
make -C O.windows-x64-debug -f ../Makefile TOP=../.. \
    T_A=windows-x64-debug install
make[2]: Entering directory 'H:/epics-devel/base-7.0.1/modules/pva2pva/pdbApp/O.windows-x64-debug'
link -nologo -subsystem:windows -dll -debug -incremental:no -fixed:no -MACHINE:X64      -out:qsrv.dll -implib:qsrv.lib        pvif.obj qsrv.obj pdb.obj pdbsingle.obj demo.obj image
demo.obj pdbgroup.obj configparse.obj      H:/epics-devel/base-7.0.1/lib/windows-x64-debug/pvAccess.lib  H:/epics-devel/base-7.0.1/lib/windows-x64-debug/pvData.lib  H:/epics-devel/
base-7.0.1/lib/windows-x64-debug/dbRecStd.lib  H:/epics-devel/base-7.0.1/lib/windows-x64-debug/dbCore.lib  H:/epics-devel/base-7.0.1/lib/windows-x64-debug/ca.lib  H:/epics-devel/ba se-7.0.1/lib/windows-x64-debug/Com.lib
pvAccess.lib(pvAccess.dll) : error LNK2005: "public: virtual __cdecl epics::pvAccess::ChannelFind::~ChannelFind(void)" (??1ChannelFind@pvAccess@epics@@UEAA@XZ) already defined in qsrv.obj
pvAccess.lib(pvAccess.dll) : error LNK2005: "public: __cdecl epics::pvAccess::ChannelFind::ChannelFind(void)" (??0ChannelFind@pvAccess@epics@@QEAA@XZ) already defined in qsrv.obj
   Creating library qsrv.lib and object qsrv.exp qsrv.dll : fatal error LNK1169: one or more multiply defined symbols found
H:/epics-devel/base-7.0.1/configure/RULES_BUILD:288: recipe for target 'qsrv.dll' failed
make[2]: *** [qsrv.dll] Error 1169
make[2]: Leaving directory 'H:/epics-devel/base-7.0.1/modules/pva2pva/pdbApp/O.windows-x64-debug'
H:/epics-devel/base-7.0.1/configure/RULES_ARCHS:58: recipe for target 'install.windows-x64-debug' failed
make[1]: *** [install.windows-x64-debug] Error 2
make[1]: Leaving directory 'H:/epics-devel/base-7.0.1/modules/pva2pva/pdbApp'
H:/epics-devel/base-7.0.1/configure/RULES_DIRS:84: recipe for target 'pdbApp.install' failed
make: *** [pdbApp.install] Error 2

> -----Original Message-----
> From: Michael Davidsaver [mailto:[email protected]]
> Sent: Tuesday, February 06, 2018 4:28 PM
> To: Mark Rivers <[email protected]>
> Cc: [email protected]
> Subject: Re: Build error for windows-x64-debug on VS2010
> 
> On 02/06/2018 01:25 PM, Mark Rivers wrote:
> > I am getting an error building pva2pva for the windows-x64-debug 
> > architecture on
> VS2010.  I don't think this is an error I have previously reported.  I 
> don't know how to fix it.
> ...
> >
> > link -nologo  -debug -incremental:no -fixed:no -MACHINE:X64              
> > -
> out:p2p.exe       gwmain.obj server.obj chancache.obj moncache.obj 
> channel.obj     H:/epics-
> devel/base-7.0
> >
> > .1/lib/windows-x64-debug/pvAccessIOC.lib  
> > H:/epics-devel/base-7.0.1/lib/windows-x64-
> debug/pvAccess.lib  
> H:/epics-devel/base-7.0.1/lib/windows-x64-debug/pvData.lib  H:/epics- 
> devel/b
> >
> > ase-7.0.1/lib/windows-x64-debug/Com.lib
> >
> > Com.lib(Com.dll) : error LNK2005: "public: __cdecl
> epicsTimerNotify::epicsTimerNotify(void)" 
> (??0epicsTimerNotify@@QEAA@XZ) already defined in server.obj
> >
> >    Creating library p2p.lib and object p2p.exp
> >
> > p2p.exe : fatal error LNK1169: one or more multiply defined symbols 
> > found
> 
> Gosh Mark, you sure find some good issues.
> 
> Let's assume this is an dllimport vs. export bug.  Can you add the 
> following to p2pApp/server.cpp above the epicsExportSharedSymbols and 
> see if the situation changes at all?
> 
> > #include <epicsTimer.h> // add this line #define 
> > epicsExportSharedSymbols
diff --git a/p2pApp/channel.cpp b/p2pApp/channel.cpp
index 69e59d2..71b9ed1 100644
--- a/p2pApp/channel.cpp
+++ b/p2pApp/channel.cpp
@@ -5,6 +5,8 @@
 
 #include <pv/pvAccess.h>
 
+#include <epicsTimer.h> 
+
 #define epicsExportSharedSymbols
 #include "helper.h"
 #include "pva2pva.h"
diff --git a/p2pApp/server.cpp b/p2pApp/server.cpp
index 2bb418a..e19eca9 100644
--- a/p2pApp/server.cpp
+++ b/p2pApp/server.cpp
@@ -7,6 +7,7 @@
 #include <pv/epicsException.h>
 #include <pv/serverContext.h>
 #include <pv/logger.h>
+#include <epicsTimer.h>
 
 #define epicsExportSharedSymbols
 #include "helper.h"
diff --git a/pdbApp/pdbgroup.cpp b/pdbApp/pdbgroup.cpp
index bfa8b0a..9c503f5 100644
--- a/pdbApp/pdbgroup.cpp
+++ b/pdbApp/pdbgroup.cpp
@@ -6,6 +6,7 @@
 
 #include <epicsAtomic.h>
 #include <dbAccess.h>
+#include <pv/pvAccess.h>
 
 #define epicsExportSharedSymbols
 #include "helper.h"
diff --git a/pdbApp/pdbsingle.cpp b/pdbApp/pdbsingle.cpp
index 07d3be6..1c736dd 100644
--- a/pdbApp/pdbsingle.cpp
+++ b/pdbApp/pdbsingle.cpp
@@ -7,6 +7,7 @@
 #include <errlog.h>
 
 #include <pv/epicsException.h>
+#include <pv/pvAccess.h>
 
 #define epicsExportSharedSymbols
 #include "helper.h"
diff --git a/pdbApp/qsrv.cpp b/pdbApp/qsrv.cpp
index da2b026..60f3591 100644
--- a/pdbApp/qsrv.cpp
+++ b/pdbApp/qsrv.cpp
@@ -1,5 +1,4 @@
 
-#include <epicsExport.h>
 #include <initHooks.h>
 #include <epicsExit.h>
 #include <epicsThread.h>
@@ -18,6 +17,8 @@
 #include <pv/serverContext.h>
 #include <pv/iocshelper.h>
 
+#include <epicsExport.h>
+
 #define epicsExportSharedSymbols
 
 #include "pvahelper.h"

Replies:
Re: Build error for windows-x64-debug on VS2010 Michael Davidsaver
References:
Build error for windows-x64-debug on VS2010 Mark Rivers
Re: Build error for windows-x64-debug on VS2010 Michael Davidsaver
RE: Build error for windows-x64-debug on VS2010 Mark Rivers

Navigate by Date:
Prev: RE: Build error for windows-x64-debug on VS2010 Mark Rivers
Next: Re: Build error for windows-x64-debug on VS2010 Michael Davidsaver
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  <20182019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: RE: Build error for windows-x64-debug on VS2010 Mark Rivers
Next: Re: Build error for windows-x64-debug on VS2010 Michael Davidsaver
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  <20182019  2020  2021  2022  2023  2024 
ANJ, 06 Feb 2018 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·