首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Qt5.2意外外部符号

Qt5.2意外外部符号
EN

Stack Overflow用户
提问于 2014-01-21 17:19:04
回答 1查看 205关注 0票数 0

我用qt4.7和qxmpp0.7.6在linux上做了一个项目,我在windows上安装了Qt5.2,编译了qxmpp并安装了它,它已经成功地完成并在C:\Qt\Qt5.2.0\5.2.0\msvc2010\include\qxmpp dir中完成,似乎都很好--我从linux复制了项目,更改了qxmpp的包含路径,使它适合现在的窗口并运行qmake,没有问题,但是当我想运行它时,我得到了122个错误,这些看起来都是这样的:

mainwindow.obj:-1: error: LNK2019: unresolved external symbol “__declspec(dllimport) public: virtual __thiscall QXmppCallManager::~QXmppCallManager(void)” (__imp_??1QXmppCallManager@@UAE@XZ) referenced in function “public: virtual __thiscall MainWindow::~MainWindow(void)” (??1MainWindow@@UAE@XZ)

所有错误都是针对qxmpp类的。

这是我的.pro文件

代码语言:javascript
复制
INCLUDEPATH += "C:\Qt\Qt5.2.0\5.2.0\msvc2010\include\qxmpp"
 
QT       += core gui network xml multimedia widgets
 
TARGET = IM-client
TEMPLATE = app
 
 
SOURCES += main.cpp\
#more sources etc

你知道这是什么原因吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-21 17:53:04

您没有将项目链接到qxmpp库。我不知道在没有LIBS += ...行的情况下,它如何在linux下编译。

我敢打赌:您已经删除了LIBS行,这一行是从Linux编译中删除的,在Windows上没有意义。你需要调整它就像你为INCLUDEPATH所做的一样。

您还可能希望为两个平台设置单独的设置,这样您就不必不断地调整项目文件:

代码语言:javascript
复制
win32 {
  INCLUDEPATH += ...
  LIBS += ...
}
unix {
  INCLUDEPATH += ...
  LIBS += ...
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21264873

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档