我正试图在我的一个Qt DLL中使用Qwt。
问题是,如果我在里面调用QwtPlot的构造函数,库就不会加载。如果我把它评论出来,它就会加载。只需注意,当QwtPlot被取消注释时,DLL会成功构建。
我正在使用Visual Studio 2010。
有什么想法吗?
EDIT(加载dll的代码,尽管该代码适用于内部没有QWT的dll):
typedef bool (*EntryPointPtr)();
HINSTANCE _pDLL;
EntryPointPtr _pFn;
_pDLL = ::LoadLibrary("..\MyDll.dll");
_pFn = (EntryPointPtr) ::GetProcAddress(_pDLL, "qtLoader");
_pFn();
问题已解决,以下是适用于可能再次遇到相同问题的任何人的解决方案。
最初,我将项目设置如下:
- VC++目录->包含目录->QWT src文件夹的路径
- VC++目录->库目录->QWT lib文件夹的路径
- 链接器->输入->附加依赖项->qwtd.lib或qwt.lib(根据调试模式)
需要做的是:
- C/C++->常规->其他包含目录->QWT路径src文件夹
- 链接器->常规->附加库目录->QWT路径lib文件夹
- 链接器->输入->附加依赖项->qwtd.lib或qwt.lib(根据调试模式)
Visual Studio似乎无法使用初始选项正确链接它。
PS。谢谢你的帮助。你的回答引导我朝着正确的方向前进,并最终帮助我找出问题所在。尊重你们所有人。