EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  <20182019  2020  2021  2022  2023  2024  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  <20182019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: Error LNK2005 building Diamond's nullhttpd module on Windows
From: "J. Lewis Muir" <[email protected]>
To: EPICS Tech-Talk <[email protected]>
Date: Wed, 16 May 2018 17:09:46 -0500
On 05/16, J. Lewis Muir wrote:
> Now I'm getting the following error (the full output is at the end of
> this email):
> 
> ===
> link -nologo -subsystem:windows -dll -LTCG -incremental:no -opt:ref -release   /NODEFAULTLIB:LIBCMT.lib     -implib:nullhttpd.lib -out:nullhttpd.dll         cgi.obj files.obj http.obj win32.obj config.obj format.obj server.obj main.obj
> server.obj : error LNK2001: unresolved external symbol __imp__MessageBoxA@16
> ===
> 
> Ideas?

It was noted in a private email that the <nullhttpd>/src/nullhttpd.h
header contains the following lines in a WIN32 ifdef which appear to add
a library-search record to the object file and define _MT to 1:

===
#pragma comment(lib, "libcmt.lib")
#pragma comment(lib, "wsock32.lib")
#define _MT 1
===

I tried reverting the "/NODEFAULTLIB:LIBCMT.lib" change and
commenting out the "libcmt.lib" pragma line and the _MT define
line, but still no dice; it's the same error I got after making the
"/NODEFAULTLIB:LIBCMT.lib" change (full output at the end of this
email):

===
link -nologo -subsystem:windows -dll -LTCG -incremental:no -opt:ref -release       -implib:nullhttpd.lib -out:nullhttpd.dll         cgi.obj files.obj http.obj win32.obj config.obj format.obj server.obj main.obj
server.obj : error LNK2001: unresolved external symbol __imp__MessageBoxA@16
===

I'm just trying to build this because the areaDetector ffmpegServer[1]
plug-in needs it.  Does anyone use that plug-in on Windows?

Thanks!

Lewis

[1] https://github.com/areaDetector/ffmpegServer

===
C:\>call C:\opt\epics-base\startup\win32.bat
Setting environment for using Microsoft Visual Studio 2010 x86 tools.
C:\>cd C:\opt\epics-module\nullhttpd

C:\opt\epics-module\nullhttpd>gmake
gmake: Entering directory 'C:/opt/epics-module/nullhttpd'
gmake -C ./configure install
gmake[1]: Entering directory 'C:/opt/epics-module/nullhttpd/configure'
perl C:\opt\epics-base/bin/win32-x86/makeMakefile.pl O.win32-x86 ../..
perl -MExtUtils::Command -e mkpath O.Common
gmake -C O.win32-x86 -f ../Makefile TOP=../.. \
    T_A=win32-x86 install
gmake[2]: Entering directory 'C:/opt/epics-module/nullhttpd/configure/O.win32-x86'
perl C:\opt\epics-base/bin/win32-x86/convertRelease.pl checkRelease
gmake[2]: Leaving directory 'C:/opt/epics-module/nullhttpd/configure/O.win32-x86'
gmake[1]: Leaving directory 'C:/opt/epics-module/nullhttpd/configure'
gmake -C ./src install
gmake[1]: Entering directory 'C:/opt/epics-module/nullhttpd/src'
perl C:\opt\epics-base/bin/win32-x86/makeMakefile.pl O.win32-x86 ../..
perl -MExtUtils::Command -e mkpath O.Common
gmake -C O.win32-x86 -f ../Makefile TOP=../.. \
    T_A=win32-x86 install
gmake[2]: Entering directory 'C:/opt/epics-module/nullhttpd/src/O.win32-x86'
"Installing generic include file ../../include/nullhttpd.h"
mkdir ../../include
cl -c                -nologo -D__STDC__=0 -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE   -Ox -GL -Oy-   -W3     -DWIN32    -MD     -I. -I..\\O.Common -I. -I.. -I..\\..\\include\\os\\WIN32 -I..\\..\\include -IC:\opt\epics-base\\include\\os\\WIN32 -IC:\opt\epics-base\\include          ..\\cgi.c
cgi.c
cl -c                -nologo -D__STDC__=0 -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE   -Ox -GL -Oy-   -W3     -DWIN32    -MD     -I. -I..\\O.Common -I. -I.. -I..\\..\\include\\os\\WIN32 -I..\\..\\include -IC:\opt\epics-base\\include\\os\\WIN32 -IC:\opt\epics-base\\include          ..\\files.c
files.c
cl -c                -nologo -D__STDC__=0 -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE   -Ox -GL -Oy-   -W3     -DWIN32    -MD     -I. -I..\\O.Common -I. -I.. -I..\\..\\include\\os\\WIN32 -I..\\..\\include -IC:\opt\epics-base\\include\\os\\WIN32 -IC:\opt\epics-base\\include          ..\\http.c
http.c
cl -c                -nologo -D__STDC__=0 -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE   -Ox -GL -Oy-   -W3     -DWIN32    -MD     -I. -I..\\O.Common -I. -I.. -I..\\..\\include\\os\\WIN32 -I..\\..\\include -IC:\opt\epics-base\\include\\os\\WIN32 -IC:\opt\epics-base\\include          ..\\win32.c
win32.c
..\win32.c(141) : warning C4244: '=' : conversion from 'time_t' to 'long', possible loss of data
cl -c                -nologo -D__STDC__=0 -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE   -Ox -GL -Oy-   -W3     -DWIN32    -MD     -I. -I..\\O.Common -I. -I.. -I..\\..\\include\\os\\WIN32 -I..\\..\\include -IC:\opt\epics-base\\include\\os\\WIN32 -IC:\opt\epics-base\\include          ..\\config.c
config.c
cl -c                -nologo -D__STDC__=0 -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE   -Ox -GL -Oy-   -W3     -DWIN32    -MD     -I. -I..\\O.Common -I. -I.. -I..\\..\\include\\os\\WIN32 -I..\\..\\include -IC:\opt\epics-base\\include\\os\\WIN32 -IC:\opt\epics-base\\include          ..\\format.c
format.c
cl -c                -nologo -D__STDC__=0 -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE   -Ox -GL -Oy-   -W3     -DWIN32    -MD     -I. -I..\\O.Common -I. -I.. -I..\\..\\include\\os\\WIN32 -I..\\..\\include -IC:\opt\epics-base\\include\\os\\WIN32 -IC:\opt\epics-base\\include          ..\\server.c
server.c
..\server.c(46) : warning C4133: 'function' : incompatible types - from 'long *' to 'const time_t *'
..\server.c(70) : warning C4133: 'function' : incompatible types - from 'long *' to 'const time_t *'
..\server.c(447) : warning C4244: '=' : conversion from 'time_t' to 'int', possible loss of data
cl -c                -nologo -D__STDC__=0 -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE   -Ox -GL -Oy-   -W3     -DWIN32    -MD     -I. -I..\\O.Common -I. -I.. -I..\\..\\include\\os\\WIN32 -I..\\..\\include -IC:\opt\epics-base\\include\\os\\WIN32 -IC:\opt\epics-base\\include          ..\\main.c
main.c
link -nologo -subsystem:windows -dll -LTCG -incremental:no -opt:ref -release       -implib:nullhttpd.lib -out:nullhttpd.dll         cgi.obj files.obj http.obj win32.obj config.obj format.obj server.obj main.obj
server.obj : error LNK2001: unresolved external symbol __imp__MessageBoxA@16
nullhttpd.dll : fatal error LNK1120: 1 unresolved externals
gmake[2]: *** [C:\opt\epics-base/configure/RULES_BUILD:306: nullhttpd.dll] Error 1120
gmake[2]: Leaving directory 'C:/opt/epics-module/nullhttpd/src/O.win32-x86'
gmake[1]: *** [C:\opt\epics-base/configure/RULES_ARCHS:61: install.win32-x86] Error 2
gmake[1]: Leaving directory 'C:/opt/epics-module/nullhttpd/src'
gmake: *** [C:\opt\epics-base/configure/RULES_DIRS:83: src.install] Error 2
gmake: Leaving directory 'C:/opt/epics-module/nullhttpd'
===

Replies:
Re: Error LNK2005 building Diamond's nullhttpd module on Windows J. Lewis Muir
References:
Error LNK2005 building Diamond's nullhttpd module on Windows J. Lewis Muir
Re: Error LNK2005 building Diamond's nullhttpd module on Windows J. Lewis Muir

Navigate by Date:
Prev: QEgui strip chart question marc . lormand
Next: Re: Error LNK2005 building Diamond's nullhttpd module on Windows J. Lewis Muir
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  <20182019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: Error LNK2005 building Diamond's nullhttpd module on Windows [email protected]
Next: Re: Error LNK2005 building Diamond's nullhttpd module on Windows J. Lewis Muir
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  <20182019  2020  2021  2022  2023  2024 
ANJ, 18 May 2018 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·