How do I reference a DLL in a VC++ project

2020-05-24 16:34发布

I have a C++ driver I'm trying to compile, and it has this line in the code:

#import "msado15.dll" no_namespace rename("EOF", "EndOfFile")

But when I compile the project, I get the error:

Error 1 fatal error C1083: Cannot open type library file: 'msado15.dll': No such file or directory

I have the DLL, but where do I put it so that the compiler can see it?

标签: visual-c++
6条回答
等我变得足够好
2楼-- · 2020-05-24 17:08

You need to have library files and function definition headers to do this. If you happen to don't have them, you would try dynamic loading of DLL using LoadLibrary and GetProcAddress, pointers for linking functions.

查看更多
兄弟一词,经得起流年.
3楼-- · 2020-05-24 17:19

You can place the DLL in the same path as the referencing file (.h) as you have done, alternatively you can modify the additional include paths for the LIB section of your project(s). In VC++ this will be:

Project | Properties | Configuration Properties | Linker | General | Additional Library Directories

This method can be useful if you are centralizing third party dependencies and you don't want to be forced to keeping the referenced file (.h) and DLL in sync via the same path.

See this MSDN link for further details.

查看更多
地球回转人心会变
4楼-- · 2020-05-24 17:22

OK, found it by reading the documentation. I just had to put it in the same folder as the referenced file (which was in a different location to the project source code).

查看更多
Lonely孤独者°
5楼-- · 2020-05-24 17:23

This may be a little out of date for most people, however - for Visual Studio 2008, for a particular

Project |
Configuration Properties |
C/C++ |
Additional Include Directories |

Select and click on the ellipsis (...).

Add the directory

C:\Program Files\Common Files\System\ado

and move it to the bottom of the list using the arrows.

查看更多
一夜七次
6楼-- · 2020-05-24 17:27

For VC++2010(VS2010): the compiler is not able to see the msado15.dll
which is located at C:\Program Files\Common Files\System\ado

Go to Project | Properties | Configuration Properties | VC++ Directories and add the following at executable directories

$(CommonProgramFiles)\System\ado;

You should be fine

查看更多
祖国的老花朵
7楼-- · 2020-05-24 17:27

Try to set "Delayed DLL loading" (or an option similar) in 'Project Properties'->'Linker'->'input' section of your VC++ project.

查看更多
登录 后发表回答