使用Qt 5.1.1构建QwtPlot3d时缺少lib文件

时间:2013-11-14 07:29:38

标签: c++ windows qt qt5.1

我正在尝试使用Qt 5.1.1构建qwtplot3d library。一切似乎都很好,它生成.dll文件,但我找不到.lib文件必须生成。我已从主干中提取源代码,但它似乎没有用Qt5构建(可能是用Qt4构建的)。可能这是QT5移植问题,但我无法解决任何问题。

你有什么想法吗?

1 个答案:

答案 0 :(得分:1)

问题是qwt3d_global.h中定义的预处理器定义。这是我解决这个问题的一些解决方案。

替换下面的行,QT5不再使用Q_WS_WIN,以便用Q_OS_WIN预处理器定义替换它。

#if defined(Q_WS_WIN) 
with
#if defined(Q_OS_WIN)

然后, 添加以下代码行以导出丢失的库,当前定义未被使用但它们仍在此文件中,我不知道为什么。

#if defined(QWT3D_EXPORT_DLL)
#  define QWT3D_EXPORT Q_DECL_EXPORT
#else
#  define QWT3D_EXPORT Q_DECL_IMPORT
#endif

顺便说一下,不要忘记在VS设置中将QWT3D_EXPORT_DLL定义添加到预处理器定义中,或者在其他地方定义它

或者只是将QWT3D_DLL,QWT3D_MAKEDLL定义添加到预处理器定义中,或者在其他地方定义它们;否则它根本无法生成lib文件。