Hi all,
in order to build a DLL that includes the static version of
libeayfips32.lib (OpenSSL 0.9.8k + OpenSSL-FIPS 1.2 on Windows XP with
Visual Studio 2005), I use the following instructions in a .mak file
(taken from ms\nt.mak):
$(OUTPUT_D)\$(MODULE).dll: $(MY_OBJS) $(LIBS_DEP) $(TARGET_D)\$(MODULE).res
SET FIPS_LINK=$(LINK)
SET FIPS_CC=$(CC)
SET FIPS_CC_ARGS=/Fo$(TARGET_D)\fips_premain.obj $(SHLIB_CFLAGS) -c
SET PREMAIN_DSO_EXE=$(PREMAIN_DSO_EXE)
SET FIPS_TARGET=$(OUTPUT_D)\$(MODULE).dll
SET FIPS_SHA1_EXE=$(FIPS_SHA1_EXE)
SET FIPSLIB_D=$(FIPSUTIL)
SET PATH=%PATH%;$(OUTPUT_D)
$(FIPSLINK) $(LFLAGS) /map /out:$(OUTPUT_D)\$(MODULE).dll @<<
$(APP_EX_OBJ) $(TARGET_D)\$(MODULE).res $(MY_OBJS)
$(TARGET_D)\fips_premain.obj $(O_FIPSCANISTER) $(L_LIBS) $(EX_LIBS)
<<
IF EXIST res\$(MODULE).win32.manifest mt -nologo -manifest
.\res\$(MODULE).win32.manifest -outputresource:$@;1
Running the fips_premain_dso.exe MyDLL.dll (line 46 of fipslink.pl), I
get the following message in Microsoft Visual C++ Debug Library message
box:
Debug Error!
Program: ...
R6034
An application has made an attempt to load the C runtime library without
using a manifest.
This is an unsupported way to load Visual C++ DLLs. You need to modify
your application to build with a manifest.
For more information, see the "Visual C++ Libraries as Shared
Side-by-Side Assemblies" topic in the product documentation.
(Press Retry to debug the application).
The problem does not occur while building a .EXE program with the same
set of instructions so this seems related to building a DLL.
Any hint?
Jacques.
______________________________________________________________________
OpenSSL Project http://www.openssl.org
User Support Mailing List openssl-users@openssl.org
Automated List Manager majord...@openssl.org