none
Entry Point Not Found RRS feed

All replies

  • Monday, October 7, 2019 8:41 AM
  • Hello,

    maybe this can help you: https://stackoverflow.com/questions/17136315/entry-point-not-found

    Regards, Guido

    Monday, October 7, 2019 9:18 AM
  • This is saying that it cannot find the function:

    public: class ATL::CStringT<char,class StrTraitMFC_DLL<char,class ATL::ChTraitsCRT<char> > > __thiscall CTcbMes::Sql(void);

    in TcbLib.dll. I got the name from undname.exe which comes with the Visual C++ command line tools. This is your own DLL and you either forgot to export a function, you are missing a function or you are exporting a function with a different signature.

    Be aware that ATL::CStringT is the base for MFC's CString, so you are probably looking for:

    CString CTcbMes::Sql(void);

    Also dependency walker would be useless in this case. First, this message is telling you that it failed to find a function inside a DLL that it found. This means it found the dependency, just not the function inside the DLL. You should do dumpbin /exports on TcbLib.dll to verify this.

    Secondly, dependency walker was never updated to handle Windows 10 virtual API set DLLs. So all of the libraries that dependency walker say that it is missing can actually be resolved by Windows. If you want an example of this, run dependency walker on dependency walker.


    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.


    • Edited by Darran Rowe Monday, October 7, 2019 11:23 AM
    Monday, October 7, 2019 11:21 AM
  • This is saying that it cannot find the function:

    public: class ATL::CStringT<char,class StrTraitMFC_DLL<char,class ATL::ChTraitsCRT<char> > > __thiscall CTcbMes::Sql(void);

    in TcbLib.dll. I got the name from undname.exe which comes with the Visual C++ command line tools. This is your own DLL and you either forgot to export a function, you are missing a function or you are exporting a function with a different signature.

    Also dependency walker would be useless in this case. First, this message is telling you that it failed to find a function inside a DLL that it found. This means it found the dependency, just not the function inside the DLL. You should do dumpbin /exports on TcbLib.dll to verify this.


    I'm not sure why you say that DW "would be useless". As can be seen from the pic
    posted by the OP, DW lists the names of all exports from the subject dll: TcbLib.dll

    It shows in the left column whether they are C or C++ exports. Right clicking 
    on the window raises a popup menu where it can be chosen to show the decorated
    or undecorated names. Scrolling down that list should give the OP a clue as to
    whether there is a naming or signature error or omission.

    - Wayne

    Monday, October 7, 2019 10:05 PM
  • As you can see from the pic, it is also reporting a lot of other uselss errors that is getting in the way.

    At the very least using a more modern tool like dependencies would be a better choice since it understands the Windows 10 virtual API Set libraries.

    It seems like the OP is taking these errors as an indicator that there is something wrong with the dependencies of the DLL itself. In this case, a tool which gives errors in a successful case is worse than having no tool at all.


    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.

    • Edited by Darran Rowe Monday, October 7, 2019 10:42 PM
    Monday, October 7, 2019 10:40 PM
  • At the very least using a more modern tool like dependencies would be a better choice since it understands the Windows 10 virtual API Set libraries.

    You can give me an example of what I should use to be efficient in solving the problem I have. Thanks.

    Wednesday, October 9, 2019 7:27 AM
  • Well, dependencies will show any unresolved functions in red:

    But unfortunately after that all you can do is compare the list of functions imported from a DLL against the list of functions exported from a DLL and figure out where things went wrong.

    As you can possibly see from this, the function that the application wants is void test::do_something(), but the only version exported from the DLL is void test::do_something() const.

    However, while this can show you what is missing and what you have, this doesn't really provide a solution. To figure out the solution requires you to look at what you have and put the pieces of the puzzle together. 

    Unfortunately this is one of those cases where we can provide guidance, but you will have to look for the solution yourself.


    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.

    Wednesday, October 9, 2019 4:08 PM
  • Thank you very much for indications.
    Thursday, October 10, 2019 8:26 AM
  • Congratulations, you found a bug in Dependencies. If you want to confirm this load Explorer.exe into Dependencies and check the imports. (Yes, Explorer is the shell so you can guarantee that it runs.)

    One important thing is that you are looking in the wrong place, since the thing that is missing the import is your executable then you should be running Dependencies on that. You can leave it at this because Windows is trying to resolve the executable's imports. If TcbLib.dll was missing a dependency then Windows would be complaining about that instead since Windows would have to load all dependencies for TcbLib.dll before it would resolve the executable.


    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.

    Thursday, October 10, 2019 1:02 PM
  • Hello,

    If your issue is solved, please "Mark as answer" or "Vote as helpful" post to the appropriate answer , so that it will help other members to find solution quickly if they faces similar issue. If not, please feel free to contact us.

    Best Regards,

    Suarez Zhou

    Monday, October 14, 2019 8:24 AM