Я пытаюсь построить библиотека qwtplot3d с Qt 5.1.1. Кажется, что все в порядке, и он сгенерировал файл .dll, но я не смог найти .lib файл должен быть создан. Я извлек исходный код из транка, но кажется, что он не собран с Qt5 (может быть, он собран с Qt4). Может быть, это проблема портирования QT5, но я не мог найти решение.
Есть ли у вас какие-либо идеи?
Проблема заключалась в определениях препроцессора, определенных в qwt3d_global.h. Вот мои некоторые решения для преодоления этой проблемы.
замените строку ниже, Q_WS_WIN больше не используется QT5, поэтому замените его определением препроцессора 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
Кстати, не забудьте добавить определения QWT3D_EXPORT_DLL в определения препроцессора в настройках VS или определить его где-нибудь еще
или просто добавьте определения QWT3D_DLL, QWT3D_MAKEDLL в определения препроцессора или определите их где-нибудь еще; в противном случае он вообще не может генерировать файл lib.
Других решений пока нет …