1

我有一个 Visual C++ DLL 项目(只是一个项目,没有父解决方案)并且需要构建 DLL。

构建命令不会生成任何错误消息。在 Debug 文件夹中有mylibrary.lib,但没有mylibrary.dll.

我查看了Visual Studio 2010 C++ DLL 项目 - 没有输出 DLL 文件!,但我的情况与那个问题不同。在构建输出中,没有类似的消息

MFCInterop.vcxproj -> C:\temp\sotest\Debug\MFCInterop.dll

只要

MFCInterop.vcxproj -> C:\temp\sotest\Debug\MFCInterop.lib

我该怎么做才能生成 DLL 文件?

4

2 回答 2

5

我可能是生成的 dll 但不在 Debug 文件夹中。您应该为项目设置输出目录。为此转到

项目属性--->常规--->输出目录--->.\Debug

于 2012-09-19T09:40:06.057 回答
2

如果您的 DLL 没有公开任何内容,则可能会发生这种情况。通常应使用以下构造公开 DLL 的公共 API 类:

#ifdef YOUR_DLL_EXPORTS
    #define YOUR_API __declspec(dllexport)
#else
    #define YOUR_API __declspec(dllimport)
#endif 

class YOUR_API ClassToExpose {};

然后你必须在 DLL 项目中定义 YOUR_DLL_EXPORTS。如果您没有公开的东西,则不会生成 DLL。我希望这有帮助。

于 2012-09-19T09:48:03.800 回答