gpt4 book ai didi

c++ - 动态库不使用 visual studio 2012 生成 lib 文件

转载 作者:行者123 更新时间:2023-11-28 03:18:10 24 4
gpt4 key购买 nike

我使用的是 Visual Studio 2012,我在不使用 MFC 的情况下创建了 dll,它生成了 dll。但是当我指定使用以下选项在特定目录中生成一个 lib 文件时:-转到属性页面->高级->导入库../../../lib/myapp.lib

它没有生成指定文件夹中的 lib 文件。请帮助我。

感谢和问候维卡斯

最佳答案

刚刚解决了类似的问题。 Visual Studio 不会在不指示在 dll 中公开哪些对象的情况下创建 .lib 文件。您需要像这样创建一个 win exports header :

#ifndef BLABLABLA
#define BLABLABLA

#ifdef MYAPPLIB_EXPORTS
#define MYAPPLIB_API __declspec(dllexport)
#elif defined(MYAPPLIB_EXPORTS_STATIC)
#define MYAPPLIB_API
#else
#define MYAPPLIB_API __declspec(dllimport)
#endif

#endif // !BLABLABLA

然后,您需要将 MYAPPLIB_EXPORTS 声明为预处理器宏。在将这个新头文件包含在其他 API 头中之后,对于您想要在 API 中公开的每个类或方法,您可以将 MYAPPLIB_API 添加到它们的声明中,例如:

class MYAPPLIB_API MyClass{ ... };

关于c++ - 动态库不使用 visual studio 2012 生成 lib 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16210178/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com