当我尝试编译我的测试应用程序时,它失败了。
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 )
C++ 代码:
#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();
}
cmake -G "NMake Makefiles"
我通过(3)生成makefile ,然后使用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 中,为什么在链接时出现这些错误?