Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Question
Tuesday, November 15, 2016 12:17 PM
I am using VS 2013 trying to built an old legacy C/C++ application. The issue which I face is that, once I built the project after applying the settings mentioned below, the output window shows everything as successful & the file generated as under DebugNexGen - pscdll.lib.
However I couldn't find any .dll's even after searching the entire Drives(s). Only the static library is created pscdll.lib as the output. The debug log doesn't report anything suspicious except the below warnings:
Below are my project Settings for the Project: pscdll
Configuration Properties->General
Output Directory - .\DebugNextGen\
Target Name - $(ProjectName)
Target Extension - .dll
Configuration Type - Dynamic Library
Under Linker
Output File : .\DebugNextGen\ pscdll.dll /* BTW what is the use of this since we already specified this path in General Settings */
I have tried removing the text in the Output File tab (leaving it blank) after specifying the Target extension but the results are same.
I am using def file to export the required functions
All replies (22)
Tuesday, November 15, 2016 12:18 PM
Sorry, there is a typo in the above post, the file currently generated under DebugNexGen is pscdll.lib & not pscdll.dll
the Log file warnings are as below, couldn't include above due to some wierd error stating that no links can be included until account is verified
LINK : warning LNK4044: unrecognized option '/pdbtype:sept'; ignored psauto.obj : warning LNK4075: ignoring '/EDITANDCONTINUE' due to '/SAFESEH' specification Creating library .\DebugNexGen\pscdll.lib and object .\DebugNexGen\pscdll.exp pscdll.vcxproj -> K:\DEVELOPMENT\maccat\client\PSCDLL.\DebugNexGen\pscdll.dll
Below are my project Settings for the Project: pscdll
Tuesday, November 15, 2016 7:32 PM
Have you checked under the *soultion* build output directory? The dll may be dropped there, rather than under the project directory. The .lib should be created along with the dll, this is normal.
-- pa
Wednesday, November 16, 2016 3:01 AM
Hi emailforsk,
thanks for posting here.
>>I am using VS 2013 trying to built an old legacy C/C++ application. The issue which I face is that, once I built the project after applying the settings mentioned below, the output window shows everything as successful & the file generated as under DebugNexGen - pscdll.dll.
However I couldn't find any .dll's even after searching the entire Drives(s). Only the static library is created pscdll.lib as the output. The debug log doesn't report anything suspicious except the below warnings:
Sorry I can't reproduce your problem. It works fine on my vs2015 update 3. I just create a dll project following these steps below.
1.On the menu bar, choose File, New, Project.
2.In the left pane of the New Project dialog box, expand Installed, Templates, Visual C++, and then select Win32.
3.In the center pane, select Win32 Console Application.
4.Specify a name for the project—for example, MathLibrary—in the Name box. Specify a name for the solution—for example, MathLibraryAndClient—in the Solution name box. Choose the OK button.
5.On the Overview page of the Win32 Application Wizard dialog box, choose the Next button.
6.On the Application Settings page, under Application type, select DLL.
7.Choose the Finish button to create the project.
8.Make the Output File value under Linker property as same as the values in General property.
Please refer to these steps and try again.
Here is a document about Creating and Using a Dynamic Link Library (C++).
https://msdn.microsoft.com/en-us/library/ms235636.aspx?f=255&MSPPError=-2147217396
Hope this could be help of you.
Best Regards,
Sera Yu
MSDN Community Support
Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact [email protected].
Wednesday, November 16, 2016 7:48 AM
Hi Pavel,
My problem is just the reverse, .lib is created but no dll is created, I was unable to edit the first post & hence I added this as my second post. And, I have searched the entire drives for this .dll, but its nowhere around in my drives.
Wednesday, November 16, 2016 7:55 AM
Hi Sera,
Thanks for the reply, but here my problem is bit different as below:
-> We already have a dll which was build successfully using an old version on VS (VS 6) I think. This uses the def file concept to export the required functions
-> Now, all that we did is to move from VS 6 to VS 2013 with the same code except some very minor change for version number up-gradation.
I mentioned the project settings above just to indicate that there seems no issue with those settings but some other issue is preventing the dll generation.
-> The problem is that as mentioned in my second post, the output directory only contain .lib file & other object files, no .dll file is generated ANYWHERE.
Wednesday, November 16, 2016 1:49 PM
Hi All,
I made a slight advancement with the issue, I made a new project including the source files & def file from the old (errorneous) project
Now, I am obtaining an output dll after the build.
I have a new issue with the new dll . This dll is being invoked from an exe (for which I don't have the source code), let me call it as exe_1. This dll provides an API to call another exe_2. So exe_1 should invoke exe_2 using the dll API.
I have verified that this API is being included in the dll (Using Dependency Walker). But when I invoke the exe_1, something happens so that exe_2 is not at all getting called.
I cannot debug the issue since the the execution call is not reaching the exe_2 entry point (I have included a DebugBreak() as the next statement of the entry point so that if the execution reaches here, it should break). Any suggestions ?
Wednesday, November 16, 2016 2:04 PM
You should be able to create a debug build of your DLL. Set a breakpoint in the DLL function that is exported to invoke exe_2. In the project properties specify exe_1 as the target to be debugged. Don't worry about the lack of symbols for exe_1 and let the debugger run. Your DLL will be loaded during the debugging session and if exe_1 is calling the exported function your breakpoint should be hit. You can then step through the dll code to make sure that it is properly invoking exe_2.
Wednesday, November 16, 2016 3:14 PM
Hi RLWA32,
Thanks for the reply. Actually when I tried the above step, the library breakpoints didn't work out (for the debug build of the dll) & the exe_1 exited with the usual error code
After this I doubted the loading of the dll itself, so I wrote some sample code to load the dll using LoadLibrary function. I did gave the absolute path of the dll so that no other versions of it can interfere.
hWinsockDll = LoadLibrary(TEXT("C:\Program Files (x86)\PS Wincat\pscdll.dll"));
Now I got error code 127 through GetLastError() function. Note that I have already verified that my required functions are present in the dll through both DependencyWalker & dumpbin.
Is there any basic Windows API missing in the DLL that is making the LoadLibrary to throw error code 127 ?
Wednesday, November 16, 2016 3:30 PM
Are all of the exe's and dll's 32 bit?
What is "the usual error code" for exe_1?
Since we haven't seen any code for the exe's or the dll (including def file) its a guessing game. Can you create a small demo that reliably reproduces the problem?
Wednesday, November 16, 2016 3:59 PM
Hi RLWA32,
All files are 32-bit only. Usual error code is a customized error code for my exe_1 which operates on client-server logic, just mentioning it here- Server Connect Failed (Code -1, Server 127.0.0.1:3000)
Below is my def file content pscdll.def:
EXPORTS
ps_open=ps_open
ps_openi=ps_openi
ps_open_lic=ps_open_lic
psopen=psopen
psopeni=psopeni
psopenx=psopenx
psopenxi=psopenxi
psopenxil=psopenxil
psclose=psclose
ps_close=ps_close
ps_autorestart=ps_autorestart
ServerHandle=ServerHandle
psaservererror=psaservererror
psfservererror=psfservererror
psservererror=psservererror
pserrordescription=pserrordescription
ps_errordescription=ps_errordescription
pserrormnemonic=pserrormnemonic
ps_getErrorCode=ps_getErrorCode
psserverversionshort=psserverversionshort
psserverversionlong=psserverversionlong
psversion=psversion
ps_version=ps_version
pssessioninfo=pssessioninfo
ps_sessioninfo=ps_sessioninfo
pspoll=pspoll
ps_poll=ps_poll
psreset=psreset
ps_reset=ps_reset
psshutdown=psshutdown
ps_shutdown=ps_shutdown
ps_parttype=ps_parttype
ps_parttype_full=ps_parttype_full
ps_isparttype=ps_isparttype
ps_ismfgcode=ps_ismfgcode
ps_ismfgname=ps_ismfgname
ps_iintchg=ps_iintchg
ps_buyersguide=ps_buyersguide
psdctl=psdctl
psadctl=psadctl
ps_dctl=ps_dctl
ps_dctl_full=ps_dctl_full
psfdctl=psfdctl
psxdctl=psxdctl
psxyears=psxyears
psyears=psyears
ps_year=ps_year
psamakes=psamakes
psmakes=psmakes
ps_make=ps_make
psfmakes=psfmakes
psxmakes=psxmakes
psmet=psmet
psamodels=psamodels
psfmodels=psfmodels
psmodels=psmodels
ps_model=ps_model
ps_model_mdl=ps_model_mdl
ps_modelnum=ps_modelnum
psxmodels=psxmodels
ps_engine=ps_engine
ps_engine_mdl=ps_engine_mdl
ps_engine2=ps_engine2
psfengines=psfengines
psxengines=psxengines
psaengines=psaengines
psengines=psengines
psamacvid=psamacvid
psfmacvid=psfmacvid
psmacvid=psmacvid
ps_macvid=ps_macvid
psxmacvid=psxmacvid
psvid=psvid
psvindecoder=psvindecoder
ps_vindecoder=ps_vindecoder
ps_car_info=ps_car_info
ps_car_info_mdl=ps_car_info_mdl
ps_car_info2=ps_car_info2
pscat=pscat
pscatbyapaapdname=pscatbyapaapdname
pscatbyapaapdnum=pscatbyapaapdnum
pscatpt=pscatpt
pscatpt_srcpart=pscatpt_srcpart
pscatpt_bymfg=pscatpt_bymfg
pscatmenu=pscatmenu
pscatmenu_srcpart=pscatmenu_srcpart
ps_catalog=ps_catalog
ps_catalog_full=ps_catalog_full
ps_catalogl=ps_catalogl
ps_catalogl_full=ps_catalogl_full
ps_catalogpt=ps_catalogpt
ps_catalogpt_full=ps_catalogpt_full
ps_catalog_menu=ps_catalog_menu
ps_catall=ps_catall
psamfgprice=psamfgprice
psmfgprice=psmfgprice
psfmfgprice=psfmfgprice
ps_mfgprc=ps_mfgprc
ps_amfgprc_tst=ps_amfgprc_tst
psamfgprice2=psamfgprice2
psfmfgprice2=psfmfgprice2
psmfgprice2=psmfgprice2
ps_mfgprc2=ps_mfgprc2
psamfgprice3=psamfgprice3
psfmfgprice3=psfmfgprice3
psmfgprice3=psmfgprice3
ps_mfgprc3=ps_mfgprc3
psprice4=psprice4
ps_price4=ps_price4
psfhist=psfhist
psparttype=psparttype
psmenu=psmenu
psxmenu=psxmenu
psamenus=psamenus
psmenu_child=psmenu_child
psmenu_write=psmenu_write
psxmenu_child=psxmenu_child
psamenus_child=psamenus_child
psfmenus=psfmenus
ps_menu=ps_menu
ps_menu_child=ps_menu_child
ps_menu_name=ps_menu_name
ps_menu_write=ps_menu_write
ps_menu_name_write=ps_menu_name_write
psagroups=psagroups
ps_agroups=ps_agroups
psfgroups=psfgroups
psxgroup=psxgroup
psgroup=psgroup
ps_group=ps_group
psasubgroups=psasubgroups
psfsubgroups=psfsubgroups
psxsubgroup=psxsubgroup
pssubgroup=pssubgroup
ps_subgroup=ps_subgroup
pslsubgroup=pslsubgroup
ps_lsubgroup=ps_lsubgroup
psxlsubgroup=psxlsubgroup
psalsubgroups=psalsubgroups
psflsubgroups=psflsubgroups
pssearch=pssearch
ps_search=ps_search
psindex=psindex
psaindex=psaindex
psfindex=psfindex
ps_index=ps_index
ps_aindex_tst=ps_aindex_tst
pssynonym=pssynonym
ps_synonym=ps_synonym
pslcomponent=pslcomponent
ps_lcomponent=ps_lcomponent
psxlcomponent=psxlcomponent
psalcomponents=psalcomponents
psflcomponents=psflcomponents
psloperation=psloperation
ps_loperation=ps_loperation
psxloperation=psxloperation
psaloperations=psaloperations
psfloperations=psfloperations
pslaborbylusg=pslaborbylusg
ps_laborbylusg=ps_laborbylusg
ps_laborbylusg_full=ps_laborbylusg_full
ps_laborbyusg=ps_laborbyusg
ps_laborbyusg_full=ps_laborbyusg_full
pslaborbyassociation=pslaborbyassociation
ps_laborbyassociation=ps_laborbyassociation
ps_laborbyassociation_full=ps_laborbyassociation_full
pslaborbycomponent=pslaborbycomponent
ps_laborbylcomponent=ps_laborbylcomponent
ps_laborbylcomponent_full=ps_laborbylcomponent_full
pslaborbyptype=pslaborbyptype
ps_laborbyptype=ps_laborbyptype
ps_laborbyptype_full=ps_laborbyptype_full
pslusgxref=pslusgxref
ps_lusgxref=ps_lusgxref
pslptypexref=pslptypexref
ps_lptypexref=ps_lptypexref
psisparttype=psisparttype
psxisparttype=psxisparttype
psaisparttypes=psaisparttypes
psfisparttypes=psfisparttypes
psismfgcode=psismfgcode
psxismfgcode=psxismfgcode
psaismfgcodes=psaismfgcodes
psfismfgcodes=psfismfgcodes
psismfgname=psismfgname
psxismfgname=psxismfgname
psaismfgnames=psaismfgnames
psfismfgnames=psfismfgnames
psiintchg=psiintchg
psxiintchg=psxiintchg
psaiintchgs=psaiintchgs
psfiintchgs=psfiintchgs
psaparttype=psaparttype
psxparttype=psxparttype
psfparttype=psfparttype
pslicmain=pslicmain
ps_licmain=ps_licmain
pslicmfglst=pslicmfglst
ps_licmfglst=ps_licmfglst
pslicmodlst=pslicmodlst
ps_licmodlst=ps_licmodlst
pslicmoduledesc=pslicmoduledesc
ps_licmoduledesc=ps_licmoduledesc
pslicmfgbyptype=pslicmfgbyptype
ps_licmfgbyptype=ps_licmfgbyptype
pssmartpage=pssmartpage
psxsmartpage=psxsmartpage
psasmartpage=psasmartpage
psfsmartpage=psfsmartpage
ps_smartpage=ps_smartpage
pscatver=pscatver
ps_catver=ps_catver
pswimfg=pswimfg
psxwimfg=psxwimfg
psawimfgs=psawimfgs
psfwimfgs=psfwimfgs
ps_wimfg=ps_wimfg
pspearlmap=pspearlmap
psxpearlmap=psxpearlmap
psapearlmaps=psapearlmaps
psfpearlmaps=psfpearlmaps
ps_pearlmap=ps_pearlmap
pscounterman=pscounterman
ps_counterman=ps_counterman
ps_counterman_full=ps_counterman_full
ps_cntrmanptype=ps_cntrmanptype
ps_cntrmanptype_full=ps_cntrmanptype_full
pscntrmanptype=pscntrmanptype
pscountermanonly=pscountermanonly
ps_countermanonly=ps_countermanonly
psprevmaint=psprevmaint
ps_prevmaint=ps_prevmaint
pspmmain=pspmmain
ps_pmmain=ps_pmmain
pspmitem=pspmitem
ps_pmitem=ps_pmitem
pspmaction=pspmaction
ps_pmaction=ps_pmaction
pspmfrequency=pspmfrequency
ps_pmfrequency=ps_pmfrequency
pspmnote=pspmnote
ps_pmnote=ps_pmnote
pspmwarranty=pspmwarranty
ps_pmwarranty=ps_pmwarranty
psc_alloc_client=psc_alloc_client
psc_alloc_cmd=psc_alloc_cmd
psc_alloc_res=psc_alloc_res
psc_autorun=psc_autorun
psc_close_session=psc_close_session
psc_connect_client=psc_connect_client
psc_copynext=psc_copynext
psc_copynextchar=psc_copynextchar
psc_disconnect_client=psc_disconnect_client
psc_do_cmd=psc_do_cmd
psc_do_cmd_linked=psc_do_cmd_linked
psc_encode_year=psc_encode_year
psc_find_active=psc_find_active
psc_find_response=psc_find_response
psc_free_all_responses=psc_free_all_responses
psc_free_client=psc_free_client
psc_free_cmd=psc_free_cmd
psc_free_res=psc_free_res
psc_free_response=psc_free_response
psc_get_cmd=psc_get_cmd
psc_get_qstate=psc_get_qstate
psc_get_res=psc_get_res
psc_load_ini=psc_load_ini
psc_put_cmd=psc_put_cmd
psc_put_res=psc_put_res
psc_recordset=psc_recordset
psc_set_complete=psc_set_complete
psc_set_qstate=psc_set_qstate
psc_spawn_process=psc_spawn_process
psc_spawn_server=psc_spawn_server
psc_spawn_service=psc_spawn_service
psc_stringonly_callback=psc_stringonly_callback
pssetmultiserver=pssetmultiserver
psfilterparts=psfilterparts
pscatall=pscatall
psacatall=psacatall
psamorelabor=psamorelabor
psfmorelabor=psfmorelabor
pslaborsearch=pslaborsearch
pspmsst=pspmsst
The dll code is somewhat larger in size & it has dependencies with other dll's.
The main reason why I asked the question about missing Windows API in the dll is that:
1. Even the breakpoint set on DLLMain is not working when tried the step mentioned in the previous post (invoking exe_1 then dll)
2. My sample code only contains a LoadLibrary call & it doesn't have any code to invoke other API's being exported by the dll.
For that itself LoadLibrary is throwing error 127. So how it concludes that some required API's are not properly included in the DLL ?
Wednesday, November 16, 2016 4:05 PM
Is there any basic Windows API missing in the DLL that is making the LoadLibrary to throw error code 127 ?
127 can happen if a linked DLL has a missing exported function.
Wednesday, November 16, 2016 4:18 PM | 1 vote
Since your dll is dependent on other dll's it's possible that one of the dependencies is not exporting a function that your dll is importing. You should check all of the dll's (application provided, not system) in the dependency chain for missing exports.
Wednesday, November 16, 2016 5:32 PM
Actually I was also on the same track, I used Profiling in the Dependency Walker to find out the culprit.
It indicates that WSAStartup() is the function which caused the issue by returning NULL when called from within my dll. But I couldn't locate this function call directly from my dll, may be some other dependent lib's are using it.
So, I tried including the ws2_32.lib as an Additional Dependency while building my dll, but again that doesn't seem to work out, I am still getting the same Profile Error from DW.
Wednesday, November 16, 2016 5:50 PM | 1 vote
It indicates that WSAStartup() is the function which caused the issue by returning NULL when called from within my dll. But I couldn't locate this function call directly from my dll, may be some other dependent lib's are using it.
From the docs -
"If successful, the WSAStartup function returns zero. Otherwise, it returns one of the error codes listed below."
In any event, that wouldn't cause the 127 error code since you indicate that the function was found and successfully called.
The problem is some other function that is statically linked in the dependency chain for which an export is not available.
Thursday, November 17, 2016 12:22 PM
Hi RLWA32,
I think your observation with the error code is correct & please ignore the LoadLibraryError mentioned by me previously as it is a different story & is not reproducible now.
I was really surprised by the observations I have on using Profiling for the below combinations:
- exe_1 with old dll
Warning: At least one delay-load dependency module was not found.
Warning: At least one module has an unresolved import due to a missing export function in a delay-load dependent module.
Starting profile on 11/17/2016 at 6:57:48 AM
Operating System: Microsoft Windows NT/2000/XP/2003/Vista based Media Center (64-bit), version 6.01.7601 Service Pack 1
Program Executable: c: slash program files (x86) slash ps wincat slash MACCATSRV.EXE
Program Arguments: /port=3000
Starting Directory: C: slash Program Files (x86) slash PS Wincat slash
Search Path: C: slash Program Files (x86) slash PS Wincat;C: slash WINDOWS;C: slash WINDOWS slash System32;C: slash WINDOWS slash System32 slash Wbem;C: slash WINDOWS slash System32 slash WindowsPowerShell slash v1.0;C: slash Program Files (x86) slash SecureCRT 3.0;C: slash Program Files (x86) slash doxygen slash bin;C: slash cygwin slash bin;C: slash Program Files (x86) slash Microsoft Visual Studio slash Common slash MSDev98 slash Bin;C: slash Program Files (x86) slash Microsoft Visual Studio slash VC98 slash Bin;C: slash Program Files (x86) slash Microsoft Visual Studio slash Common slash TOOLS;C: slash Program Files (x86) slash Microsoft Visual Studio slash Common slash TOOLS slash WINNT;C: slash Program Files (x86) slash Windows Kits slash 8.1 slash bin slash x86;
Options Selected:
Log DllMain calls for process attach and process detach messages.
Hook the process to gather more detailed dependency information.
Log LoadLibrary function calls.
Log GetProcAddress function calls.
Log first chance exceptions.
Log debug output messages.
Automatically open and profile child processes.
Started "MACCATSRV.EXE" (process 0x2130) at address 0x013E0000. Successfully hooked module.
Loaded "NTDLL.DLL" at address 0x77E80000. Successfully hooked module.
Loaded "KERNEL32.DLL" at address 0x764F0000. Successfully hooked module.
- exe_1 with new dll
Starting profile on 11/17/2016 at 4:25:45 AM
Operating System: Microsoft Windows NT/2000/XP/2003/Vista based Media Center (64-bit), version 6.01.7601 Service Pack 1
Program Executable: c: slash program files (x86) slash ps wincat slash WINCAT.EXE
Program Arguments:
Starting Directory: C: slash Program Files (x86) slash PS Wincat slash
Search Path: C: slash Program Files (x86) slash PS Wincat;C: slash WINDOWS;C: slash WINDOWS slash System32;C: slash WINDOWS slash System32 slash Wbem;C: slash WINDOWS slash System32 slash WindowsPowerShell slash v1.0;C: slash Program Files (x86) slash SecureCRT 3.0;C: slash Program Files (x86) slash doxygen slash bin;C: slash cygwin slash bin;C: slash Program Files (x86) slash Microsoft Visual Studio slash Common slash MSDev98 slash Bin;C: slash Program Files (x86) slash Microsoft Visual Studio slash VC98 slash Bin;C: slash Program Files (x86) slash Microsoft Visual Studio slash Common slash TOOLS;C: slash Program Files (x86) slash Microsoft Visual Studio slash Common slash TOOLS slash WINNT;C: slash Program Files (x86) slash Windows Kits slash 8.1 slash bin slash x86;
Started "WINCAT.EXE" (process 0x10F8) at address 0x10000000. Successfully hooked module.
Loaded "NTDLL.DLL" at address 0x77E80000. Successfully hooked module.
Loaded "KERNEL32.DLL" at address 0x764F0000. Successfully hooked module.
Please note that :
My exe_1 is WINCAT.EXE
exe_2 is MACCATSRV.EXE
So what I see now is that while I try profiling with my old dll, it invokes exe_2 at the first time itself where as new dll invokes exe_1 initially. This is more confusing since, the only difference I made is to change the dll from old to new.
Thursday, November 17, 2016 12:24 PM
Forgive me webpage shows some wierd error (Account not verified) while I try to put \ so I have replaced all \ with the word "slash"
Thursday, November 17, 2016 12:32 PM
It looks to me that you are profiling two different executables.
The session at 4:25:45 AM logged -
Program Executable: c: slash program files (x86) slash ps wincat slash WINCAT.EXE
The session at 6:57:48 AM logged -
Program Executable: c: slash program files (x86) slash ps wincat slash MACCATSRV.EXE
Thursday, November 17, 2016 12:38 PM
Forgive me webpage shows some wierd error (Account not verified) while I try to put \ so I have replaced all \ with the word "slash"
Did you request to have your account verified?
Have you tried to use the Insert Code Block button?
Thursday, November 17, 2016 12:55 PM
Actually no, this is the point where I am totally getting out of mind. I have verified multiple time to confirm this is happening, hence the difference in the time log.
Even I can notice a delay when I try to use exe_1, old dll combination, where as exe_1 new dll gives out the error immediately.
Thursday, November 17, 2016 1:09 PM
Actually no, this is the point where I am totally getting out of mind. I have verified multiple time to confirm this is happening, hence the difference in the time log.
Even I can notice a delay when I try to use exe_1, old dll combination, where as exe_1 new dll gives out the error immediately.
Sorry, but without a sample to work with or code to look at my psychic debugging skills are insufficient to address the issues you mention.
Thursday, November 17, 2016 1:25 PM
Yes, I understand that, anyway thanks for the support.
BTW, I have 2 observations, one w.r.t to Profiling & other w.r.t dumpbin
1. If we see the old dll Profile output, the below warnings are extra
Warning: At least one delay-load dependency module was not found.
Warning: At least one module has an unresolved import due to a missing export function in a delay-load dependent module.
2. The "dumpbin /exports" for the new & old dll have some differences (it should't be right?)
New dll Summary
Summary
6000 .data
** 1000 .idata**
C000 .rdata
4000 .reloc
1000 .rsrc
5F000 .text
** 2F000 .textbss**
Old Dll Summary
Summary
C000 .data
6000 .rdata
3000 .reloc
1000 .rsrc
2F000 .text
Does it make any sense ?
Thursday, November 17, 2016 1:26 PM
Again, I can't answer such questions. They have no context to me.