这里要解决问题的是QT构建中的

error: undefined reference to

而不是

undefined reference to vtable for "xxx::xxx"

 

QT构建编译出现error: undefined reference to时,请先确认语法是否有错(建议单独新建一个项目只检查出错的代码是否语法有误)。本文由Coding库丁原创,如果确定语法无误,则尝试一下的方法:

 

这里以下列语句为例

QNetworkAccessManager  *manager =  new QNetworkAccessManager();
构建编译出现错误:
error: undefined reference to ……
 
 

用记事本或者notepad++打开项目文件(*.pro文件),内容如下:

 

#-------------------------------------------------

#

# Project created by QtCreator 2014-04-22T14:15:31

#

#-------------------------------------------------

 

QT       += core

 

QT       -= gui

 

TARGET = GetWebPageContent

CONFIG   += console

CONFIG   -= app_bundle

 

TEMPLATE = app

 

 

SOURCES += main.cpp

 

HEADERS += \

    myHeaderFile.h

 

(*.pro文件内容结束)

 

原来*.pro文件只添加了QT+=core,但是没有添加QNetworkAccessManager类所在的目录network,我们只需要添加相应的目录并且保存即可。本文由Coding库丁原创,修改后的*.pro文件内容如下:

 

#-------------------------------------------------

#

# Project created by QtCreator 2014-04-22T14:15:31

#

#-------------------------------------------------

 

QT       += core

QT       += network

 

QT       -= gui

 

TARGET = GetWebPageContent

CONFIG   += console

CONFIG   -= app_bundle

 

TEMPLATE = app

 

 

SOURCES += main.cpp

 

HEADERS += \

    myHeaderFile.h

 

(*.pro文件内容结束)

 

再次构建,编译成功。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐