I tried to open kernel32.dll
using Dependency Walker on Windows 10. I got the following error and warning:
Error: At least one required implicit or forwarded dependency was not found
Warning: At least one delay-load dependency module was not found.
Screenshot:
I’m running Windows 10 32-bit, and the Dependency Walker is also 32-bit.
Also, I’m running Dependency Walker as admin.
Pang
9,344146 gold badges85 silver badges121 bronze badges
asked Nov 9, 2015 at 8:02
3
This has nothing to do with delay loads. These are MS API-sets — essentially, an extra level of call indirection introduced gradually since windows 7. Dependency walker development seemingly halted long before that, and it can’t handle API sets properly.
So these are all false negatives and nothing to worry about. You’re not missing anything.
Here it is in more words.
Edit: Only in Oct 2017 did someone finally try to fill this gap. Meet Dependencies by lucasg. I’ve only briefly fiddled with it until now, but it handles API sets well and is at least very worthy of attention.
answered Mar 27, 2016 at 6:26
Ofek ShilonOfek Shilon
14.1k5 gold badges64 silver badges100 bronze badges
12
There’s a reimplementation of dependency walker that is meant to implement for the later features of the dll mechanisms. Have a look at
https://github.com/lucasg/Dependencies
answered Jul 2, 2018 at 5:35
Johan LundbergJohan Lundberg
25.7k12 gold badges71 silver badges97 bronze badges
4
- Remove From My Forums
-
Question
-
Hi,
For purposes of ensuring the presence of all required DLLs I am running the Depends.exe program for 64 bit processes and get a lot of errors I do not understand. The presence of these API-MS-WIN-XXXX.DLL with a question mark seems to suggest the program
cannot find these DLLs. Why is this? Is Depends.exe an up to date application for checking dependencies or is it outdated? I am running 2.2.6000 built on 2006 so I must conclude this version is outdated. Is there a similar tool that is up to latest technology?Also, what do these errors/warning mean?
Error: At least one required implicit or forwarded dependency was not found.
Error: At least one module has an unresolved import due to a missing export function in an implicitly dependent module.
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.Thanks,
Juan
Juan Dent
Answers
-
I think it was in the Windows Driver Kit for a while, but while there were some bug fixes, it wasn’t updated to handle the API sets. It also isn’t in the latest versions of the WDK though.
But at the same time, I would also say that as the developer you should know what is needed anyway. You know what libraries you are linking to, and you know if they are static or dynamic libraries. Since you are going to need the software development kits
for any third party libraries that you are going to use then you will have the documentation and know what anything you use depends on that way. These kits normally come with source or prebuilt binaries for you to use too, and it is these that you end up redistributing.Worst case scenario, if it runs on the developer system but not on a system that you have deployed it to, then you could always run the application in a debugger on the developer system and see what libraries are actually loaded.
This is a signature. Any samples given are not meant to have error checking or show best practices. They are meant to just illustrate a point. I may also give inefficient code or introduce some problems to discourage copy/paste coding. This is because
the major point of my posts is to aid in the learning process.-
Marked as answer by
Monday, July 24, 2017 2:40 PM
-
Marked as answer by
I tried several solutions posted such as:
Add the Intel Fortran IA32LIB folder (for example, C:Program FilesIntelCompilerFortran9.0IA32Lib) to Tools..Options..Projects..VC++ Directories..Library Files.
also included alternatively the file or folder with full path in
Linker>General>Additional Library Dependencies
Linker>Input>Additional Dependencies
Also added the library name under:
Linker>Input>Ignore Specific Default Libraries
I always get the message.
Severity Code Description Project File Line Suppression State
Error LNK1104 cannot open file ‘ifmodintr.lib’ PLDYNA E:AAreaik20aPLDYN17CPPFortPLDYNAPLDYNALINK 1
Always the same. If you notice the file linker is given by Visual Studio is different than what I specified. It seems to get t from project configuration somehow. I also edited the project configuration file. I notice that the changes I put on the Visual Studio project properties dialog are not reflected in the project configuration file.
I should mention that I copied the whole solution folder with C++ and Fortran projects to a new computer and removed the Fortran project and copied my Fortran static library location in the project configuration file. So it seems like somehow Visual Studio is very sensitive to messing around with projects.
I. Konuk
I was trying to track down an issue on a fresh Window 10 install with a older application that was starting but faulting on a dependancy but I was not getting the std DLL missing message…
Running the .exe
under Visual Studio was getting me no where fast and than I remembered a really old program called “Dependency Walker”.
What do you know, it is still avaiable and being kept up to date, well it lists Windows 8, but it seems to also run on an Insider Windows 10 Fast Track install just fine, and Solved my problem in less then a minute…
Error: At least one required implicit or forwarded dependency was not found. Error: At least one module has an unresolved import due to a missing export function in an implicitly dependent module. 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.
Dependency Walker
Dependency Walker is a free utility that scans any 32-bit or 64-bit Windows module (exe, dll, ocx, sys, etc.) and builds a hierarchical tree diagram of all dependent modules. For each module found, it lists all the functions that are exported by that module, and which of those functions are actually being called by other modules. Another view displays the minimum set of required files, along with detailed information about each file including a full path to the file, base address, version numbers, machine type, debug information, and more.
FYI: I remember using that program on Window’s ARCH types long forgotten… and the site still has versions available (unsupported of course) for Alpha, AXP64, MIPS, and PowerPC architectures…. wow, remember when Windows ran on those
- Forum
- General C++ Programming
- .exe file crashes outside VS but work in
.exe file crashes outside VS but work inside
I have a program that works well inside visual studio when I launch it via local windows debugger, but when I open the .exe file, it outputs some stuff and takes some input, then it crashes at some moment when it should display other outputs. How can I fix this?
I ran Dependency Walker on the .exe file and it outputted this:
|
|
Please note that I’m kind of a beginner.
What my program does is inputting information about the price and ticker of the stock and then doing some calculations and outputting the result. I made a class named stock that has instance variables which are the properties of each stock.
Source code:
|
|
Last edited on
The magic 8 crystal ball says: «question too vague, include source code in post.»
If you’re using visual studio, you can attach a debugger to the program even when you run it outside of visual studio. Debug —> Attach to Process …
Put a breakpoint after the user input, and then you can step through the code to see when it crashes.
A guess: The difference is that your working directory is different when you directly run the exe outside of visual studio, so you are assuming a particular file exists when it doesn’t.
If you’re issue isn’t that it crashes but simply closes too quickly, then open your command prompt and run the program within the command prompt instead of having it use an evanescent window.
Edit: You added more information in your OP.
Those dependency walker errors might be false positives. If your program runs initially but crashes at a later point, I still suggest my method.
Last edited on
I ran Dependency Walker on the .exe file
Dependency Walker is an ooooooooold tool that doesn’t really work any more. There is an updated app available:
https://github.com/lucasg/Dependencies
I did what @Ganado suggested. I made debug and attached to the application process but I don’t really understand what’s happening. I’m kind of a beginner as mentioned above. Can you please clarify more what I exactly should do? Anyway, I provided the source code in the question above.
Last edited on
First note: You are using double. In a real program, you would never use floating-point numbers to represent exact money amount, but that’s a bit beyond the scope of what’s necessary here. But second, you use greater<float>() in your sort method. You should use greater<double> here, to match your data type.
Second note: If your exe were actually crashing, it would most likely generate an Event log in your event viewer. After running your exe and letting it «crash», if you open your Event log and navigate to Windows Logs —> Application (wait for it to load), do you see any error messages that relate to your exe?
Another minor note for the future: please don’t edit you OP more. It makes the thread less linear; just add additional information in new posts.
I suggest looking up a tutorial on Visual studio debugging or breakpoints. It’s hard to visually show you what exactly to do, beyond what I already mentioned: Start your exe. Then in Visual Studio, go to Debug —> Attach to Process —> then find your exe in the list, and click Attach. Then place a break point after your cin >> statements, and step through your code with F11 (or Debug —> Step Into) once you’re debugging.
I ran your code (creating my own Stock class)
|
|
I don’t see any flagrant errors other than the minor precision issue with float vs. double.
I think your problem is the well-known beginner issue: https://cplusplus.com/forum/beginner/1988/
You are double-clicking on the exe, which produces a temporary window, and once the program is over, this window disappears. This has been discussed ad nauseum in the linked thread above, but what I suggest is running the program through an existing cmd prompt instead of double-clicking it from your File explorer.
From your File explorer, go to the folder that contains your exe.
Then, click into the whitespace of the address bar, and type «cmd» and hit enter.
Then, in the command window, type the name of your exe and hit enter to run it.
Last edited on
@Ganado I figured it out! The problem got be solved when I inputted anything before returning 0. However, I don’t know why! You can see here in my new code that I’ve added int whatever; cin>>whatever;
before returning 0 and it just worked! Have you got any idea why? Thanks for your support!
|
|
Last edited on
Slightly simplified:
|
|
Last edited on
when a program works in visual and not outside it, the first places I would look:
1) did you open a file and fail to validate if that went well with appropriate error messages? The path inside VS and the path outside are not the same, and a file that you think it should see may suddenly not be in its visible scope.
2) libraries. this is similar to the above — a dll or whatever that your program needs is visible in the tool and not outside it. These are much more obvious: it flat out tells you ‘cannot open blah.dll» somewhere in the error spew for the crash.
3) some sort of bug. the visual studio debugger env may do things to your program for debug reasons that make it work (eg initialize all to zero for you) which may not happen in (release mode or running outside the tool). To see this, try running the program in release mode in the tool. If it fails, it only works because the debugger is helping you, and you have some bug hunting to do.
4) microsoftisms. Here again these usually give you a blatant error message, often having something to do with a manifesto or other gibberish. You can fix the settings in the tool to make it knock it off, or you can move the required files around or fix the path (there that is again!) to cure it.
It sounds like you found the issue, thankfully. But these may help later. Your fix indicates that it maybe was just a speed of light problem. Your program is rather quick and small, it can open, execute, and close in the blink of an eye. Adding a cin makes it wait for you to type something, and you can see the output until you type. Does the program window close when you type something into whatever? If so, that is all it ever was. To ‘fix’ it you can open a cmd window and run inside that, where it will keep the output buffer on screen, or you can do what you did (effectively press a key to end program). All that is going on is the program (a console window) that has the output display is being closed before you can read it.
Last edited on
Bassel, it’s because the program is over once main returns. And once the program is over, the temporary window disappears. So you prevented the program from ending by having it wait for user input.
Topic archived. No new replies allowed.
Why do I get an error when deploying a MEX file created using MATLAB 7.7 (R2008b) to another 64-bit Windows machine?
When I run the MEX command on a C source file using the Microsoft Visual C++ Studio 2008 on a 64-bit Windows Server 2008 and deploy to another 64-bit Windows machine without a Visual Studio, I receive the following error:
ERROR: ??? Invalid MEX-file ‘F:folderPathmyApplication.mexw64’: The application has failed to start because its side-by-side configuration is incorrect.
Please see the application event log for more detail.
The analysis of the MEX-file in the Dependency Walker shows the following error message:
Error: The Side-by-Side configuration information for «c:dataTIMESTWO.MEXW64» contains errors. This application has failed to start because the application configuration is incorrect. Reinstalling the application may fix this problem (14001).
Error: At least one required implicit or forwarded dependency was not found.
Error: At least one module has an unresolved import due to a missing export function in an implicitly dependent module.
Error: Modules with different CPU types were found.
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.
Accepted Answer
This issue is caused by missing Microsoft Visual Studio C++ 2008 redistributables on the deployment machine. The resolution is to install the MSVC 2008 redistributables. These redistributables for Microsoft Visual Studio C++ 2008 with installation instructions are available on the Microsoft website at the following links:
Microsoft Visual C++ 2008 SP1 Redistributable Package (x86)
More Answers (0)
See Also
Categories
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
An Error Occurred
Unable to complete the action because of changes made to the page. Reload the page to see its updated state.
Hi,
Environment:
* Microsoft Windows XP
* Microsoft .NET Framework 3.5 SP1
* Microsoft Windows SDK for Visual Studio 2008 Tools 6.1.5288.17011
* Microsoft Windows SDK for Visual Studio 2008 Win32 Tools 6.1.5288.17011
* Microsoft Visual Studio 2008 Professional Edition — ENU
* Autodesk 3ds Max 2009 SDK 11.0
* Audodesk 3ds Max 2009
Scenario:
I recompiled sample plugin for «C:Program FilesAutodesk3ds Max 2009 SDKmaxsdksamplesigame». Then it was copied to «C:Program FilesAutodesk3ds Max 2009pluginsIGameExporter.dle». Tested it and It WORKS on my machine. Even though we are both running «Windows XP Professional», it FAILS to run on my graphics artist machine. He says he has VS2008 C++ Runtime installed.
Error Message:
DLL <C:Program FilesAutodesk3ds Max 2009pluginsIGameExporter.dle>’ failed to initialize.
Error code 14001 — This application failed to start because the application configuration is incorrect. Reinstalling the application may fix this problem.
Click to View Error Popup Dialog
Question:
Any idea what can be causing this error?
PS: If you need more info I can provide it.
Thanks,