Qt DLL未加载(在内部使用Qwt时)



我正试图在我的一个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();

问题已解决,以下是适用于可能再次遇到相同问题的任何人的解决方案。

最初,我将项目设置如下:

  1. VC++目录->包含目录->QWT src文件夹的路径
  2. VC++目录->库目录->QWT lib文件夹的路径
  3. 链接器->输入->附加依赖项->qwtd.lib或qwt.lib(根据调试模式)

需要做的是:

  1. C/C++->常规->其他包含目录->QWT路径src文件夹
  2. 链接器->常规->附加库目录->QWT路径lib文件夹
  3. 链接器->输入->附加依赖项->qwtd.lib或qwt.lib(根据调试模式)

Visual Studio似乎无法使用初始选项正确链接它。

PS。谢谢你的帮助。你的回答引导我朝着正确的方向前进,并最终帮助我找出问题所在。尊重你们所有人。

最新更新