Мне очень жаль мой плохой английский и эти уродливые ссылки (но новые пользователи могут публиковать максимум две гиперссылки).
(Вы можете найти ссылки из сносок здесь.)
Когда я пытаюсь скомпилировать тестовое приложение, оно терпит неудачу.
CMakeLists.txt:
cmake_minimum_required( VERSION 2.8.8 )
project( webkit-test )
set(CMAKE_AUTOMOC ON)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
find_package( Qt5Core )
find_package( Qt5Gui )
find_package( Qt5OpenGL )
find_package( Qt5Network )
find_package( Qt5WebKit )
find_package( Qt5Widgets )
add_executable( webkit-test main.cpp )
qt5_use_modules( webkit-test Core Gui OpenGL Network WebKit Widgets )
Код С++:
#include <QtWidgets/QApplication>
#include <QtWebKit/QWebView>
int main( int argc, char *argv[] )
{
QString file;
if ( argc >= 2 )
file = argv[1];
QApplication a( argc, argv );
return a.exec();
}
Я создаю make-файл с помощью cmake -G "NMake Makefiles" (3), а затем использую nmake (4).
После того, как я получил это, я использовал dumpbin /EXPORTS QtWebKit5.dll > QtWebKit5.dll.exports.txt и dumpbin /EXPORTS QtWebKit5.lib > QtWebKit5.lib.exports.txt для просмотра символов экспорта: (5) и (6).
Используя Ctrl+F, вы можете найти в этих файлах неразрешенные внешние символы:
?staticMetaObject@QWebPage@@2UQMetaObject@@B (public: static struct QMetaObject const QWebPage::staticMetaObject)
?staticMetaObject@QWebView@@2UQMetaObject@@B (public: static struct QMetaObject const QWebView::staticMetaObject)
Если символы есть в QtWebKit5.lib, почему у меня эти ошибки при линковке?