相关疑难解决方法(0)

在构建导出包含ATL :: CString成员的类的DLL时发出警告C4251

我正在将基于ATL的静态库转换为DLL,并且在使用ATL CString类(在atlstr.h中找到)的任何导出类上收到以下警告:

警告C4251:'Foo :: str_':类'ATL :: CStringT'需要让dll接口被'Foo'类的客户端使用

我正确地声明Foo该类是通过导出的__declspec(dllexport).这是一个我可以放心忽视的警告,还是我做错了什么?DLL项目设置被设置为与ATL动态链接,但这似乎没有任何区别.

例如:

#ifdef DLLTEST_EXPORTS
#define DLLTEST_API __declspec(dllexport)
#else
#define DLLTEST_API __declspec(dllimport)
#endif

// This class is exported from the DLLTest.dll
class DLLTEST_API Foo
{
public:
 Foo();
 CString str_; // WARNING C4251 HERE
};
Run Code Online (Sandbox Code Playgroud)

此DLL的所有客户端也将使用ATL.

c++ dll atl dllexport

21
推荐指数
3
解决办法
4万
查看次数

导出DLL C++类,关于.def文件的问题

我想在我的项目中使用隐式链接,而nmake确实想要一个.def文件.问题是,这是一个类,我不知道在exports部分写什么.有人能指出我正确的方向吗?

错误消息如下:

NMAKE:U1073:不知道如何制作'DLLCLASS.def'

PS:我正在尝试使用Windows CE Platform Builder构建.

c++ nmake function build windows-ce

2
推荐指数
1
解决办法
1万
查看次数

标签 统计

c++ ×2

atl ×1

build ×1

dll ×1

dllexport ×1

function ×1

nmake ×1

windows-ce ×1