Dear Massimo,
Hard to tell without recompiling. Unfortunately, I will attend an event
(ICT 2018 in Vienna), and I will be out of office.
The problem probably is some mix of dllexport/dllimport for the same
function within the same dll.
Best,
George
Στις 1/12/2018 16:24, ο Massimo Manghi έγραψε:
The announce of Rivet 3.1 stimulated the interest of a person who
needs to have Rivet built for Windows. After George managed to build
and run mod_rivet on Windows in 2017 I set aside this achievement and
kind of considered it as granted.
So I decided for the weekend to revive my Windows setup and downloaded
the whole toolchain from scratch in order to re-validate our work.
First of all I found out that not every binary build of Apache is
equivalent. For instance I had errors with the ApacheHaus build
(apr_perms_set.h include file not found) while the Apache Lounge seems
to be fine.
Building Rivet with the Visual Studio Community Edition produces
several warnings we didn't have last year (which is good because they
help you to have more accurate code) but eventually I had weird errors
with the definition of the symbol rivet_module (defined by
APLOG_USE_MODULE)
C:\Program Files (x86)\Microsoft Visual
Studio\2017\Community\VC\Tools\MSVC\14.16.27023\bin\HostX86\x64\CL.exe
/c /IC:\ActiveTcl\include /IC:\Apache24\include
/IC:\Users\massi\Documents\rivet\cmake\..\src
/IC:\Users\massi\Documents\rivet\cmake\..\src\mod_rivet_ng
/IC:\Users\massi\Documents\rivet\cmake\..\src\parser
/IC:\Users\massi\Documents\rivet\cmake\..\src\request
/IC:\Users\massi\Documents\rivet\cmake\build_64\generated
/IC:\Users\massi\Documents\rivet\cmake\build_64 /nologo /W3 /WX-
/diagnostics:classic /O2 /Ob2 /D WIN32 /D _WINDOWS /D NDEBUG /D
HAVE_CONFIG_H=1 /D "CMAKE_INTDIR=\"Release\"" /D
rivet_lazy_mpm_EXPORTS /D _WINDLL /D _MBCS /Gm- /MD /GS /fp:precise
/Zc:wchar_t /Zc:forScope /Zc:inline /Fo"rivet_lazy_mpm.dir\Release\\"
/Fd"rivet_lazy_mpm.dir\Release\vc141.pdb" /Gd /TC /errorReport:queue
C:\Users\massi\Documents\rivet\src\mod_rivet_ng\rivet_lazy_mpm.c
rivet_lazy_mpm.c
C:\Users\massi\Documents\rivet\src\mod_rivet_ng\rivet_lazy_mpm.c(41):
warning C4273: 'rivet_module': inconsistent dll linkage
[C:\Users\massi\Documents\rivet\cmake\build_64\rivet_lazy_mpm.vcxproj]
c:\users\massi\documents\rivet\src\mod_rivet_ng\mod_rivet.h(40):
note: see previous definition of 'rivet_module'
I gather that this has to do with the way Windows expect to see
exported symbols, but it didn't occur in 2017. Perhaps trivial, but I
suspect it requires a Windows development knowledge I don't have at
the moment
-- Massimo
---------------------------------------------------------------------
To unsubscribe, e-mail: rivet-dev-unsubscr...@tcl.apache.org
For additional commands, e-mail: rivet-dev-h...@tcl.apache.org