Linking of ZIOPDynamic DLL fails under Windows with VS2017

Peter Klotz via omniORB-list <[email protected]> Thu, 26 Apr 2018 16:28:06 +0200
Newsgroups gmane.comp.corba.omniorb.user
Message-ID <FDCF7296051FAA4B967818014FE88B23027B0C8806D5@hermes.ith-icoserve.com>
Hi

I have already sent the attached patch earlier but got no response (and it was not integrated into upstream either). So I try again :-)


When compiling omniORB 4.2.2 under Windows using VS2017 a linker error occurs during linking of omniZIOPDynamic422_rt.dll and omniZIOPDynamic422_rtd.dll.

However the build continues and so just the DLLs are missing at the end. You of course have to enable ZIOP and zlib support to trigger the problem.

The linker complains about 56 missing symbols:

+ set -x
+ rm -f shared/omniZIOPDynamic422_rt.lib
+ ../../../../bin/x86_win32/linkwrapper -gnuwin32 -out:shared/omniZIOPDynamic422_rt.dll -DLL ...
shared\omniZIOPDynamic4.def(1) : warning LNK4093: Drive/Directory component ignored in 'LIBRARY' statement
   Creating library shared/omniZIOPDynamic422_rt.lib and object shared/omniZIOPDynamic422_rt.exp
omniZIOPDynamic.o : error LNK2019: unresolved external symbol "class ZIOP::CompressionEnablingPolicy * ...
omniZIOPDynamic.o : error LNK2019: unresolved external symbol "class ZIOP::CompressionIdLevelListPolicy * ...
omniZIOPDynamic.o : error LNK2019: unresolved external symbol "class ZIOP::CompressionLowValuePolicy * ...
omniZIOPDynamic.o : error LNK2019: unresolved external symbol "class ZIOP::CompressionMinRatioPolicy * ...
compressionDynStubs.o : error LNK2019: unresolved external symbol "public: __thiscall Compression::CompressionException...
compressionDynStubs.o : error LNK2019: unresolved external symbol "public: virtual __thiscall Compression::CompressionException...
compressionDynStubs.o : error LNK2001: unresolved external symbol "public: virtual void __thiscall Compression::CompressionException...
...
shared\omniZIOPDynamic422_rt.dll : fatal error LNK1120: 56 unresolved externals


Regards, Peter.

_______________________________________________
omniORB-list mailing list
[email protected]
http://www.omniorb-support.com/mailman/listinfo/omniorb-list
omniORB-4.2.2-ZIOPDynamic.patch (application/octet-stream, 709 B)
diff -Nur omniORB-4.2.2/src/lib/omniORB/ziopdynamic/dir.mk omniORB-4.2.2.patched/src/lib/omniORB/ziopdynamic/dir.mk
--- omniORB-4.2.2/src/lib/omniORB/ziopdynamic/dir.mk	2017-11-25 23:36:55.611082100 +0100
+++ omniORB-4.2.2.patched/src/lib/omniORB/ziopdynamic/dir.mk	2017-11-25 23:36:55.611082100 +0100
@@ -32,7 +32,7 @@
 LIB_VERSION  := $(OMNIORB_VERSION)
 LIB_OBJS     := $(ORB_OBJS)
 LIB_IMPORTS  := $(patsubst %,$(LibPathPattern),../orbcore/shared) \
-                $(OMNIORB_DLL_NAME) $(OMNIORB_DYNAMIC_DLL_NAME) \
+                $(OMNIORB_DLL_NAME) $(OMNIORB_DYNAMIC_DLL_NAME) $(OMNIORB_ZIOP_DLL_NAME) \
                 $(OMNITHREAD_LIB) $(EXTRA_LIBS)
 LIB_SHARED_ONLY_OBJS := $(SHARED_ONLY_OBJS)