gpt4 book ai didi

c++ - 未解析的外部符号。 C++

转载 作者:搜寻专家 更新时间:2023-10-31 01:53:05 25 4
gpt4 key购买 nike

当我尝试编译我的测试应用程序时,它失败了。

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" 生成 makefile (3)然后使用 nmake (4) .

收到后,我使用了 dumpbin/EXPORTS QtWebKit5.dll > QtWebKit5.dll.exports.txtdumpbin/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 中,为什么我在链接时会出现这些错误?

最佳答案

一些原因影响了这一点,

如果您使用的 Qt 版本高于 4.7,请将此命名空间添加到项目的“.pro”文件中:

QT += webkitwidgets

如果小于等于 4.7:

QT += webkit

并将您的 QWebView 库更改为(如果收到有关“没有此类文件或目录”的警告,请不要担心!)

#include <QwebView>

关于c++ - 未解析的外部符号。 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11592669/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com