vs2017下新建一个Qt Empty Application遇到的无法识别的外部符号的问题

今天2020-10-14突然想试下qt empty application项目是怎么用的。

一、环境:vs2017 , qt:C:/Qt/Qt5.9.0/5.9/msvc2017_64/bin/qmake。

二、新建工程:Qt Empty Application

三、编译链接经历:

       1.新建工程后,工程里啥都没有,没有cpp,没有ui。

        2.新建了一个main.cpp文件如下内容:

代码清单一:

#include <QtWidgets/QApplication>
#include <QDebug>
#include <QtWidgets/QHBoxLayout>
#include <QtWidgets/QSlider>
#include <QtWidgets/QSpinBox>
#include <QtWidgets/QWidget>
#include <QtWidgets/QAbstractSlider>
#include <QtWidgets/qabstractslider.h>


int
main(int argc,char* argv[])
{
QApplication app(argc, argv);
QWidget *window = new QWidget;
window->setWindowTitle("Enter your age");
QSpinBox *spinBox = new QSpinBox;
QSlider *slider = new QSlider(Qt::Horizontal);
spinBox->setRange(0, 130);
slider->setRange(0, 130);
QObject::connect(spinBox, SIGNAL(valueChanged(int)), slider, SLOT(setValue(int)));
QObject::connect(slider, SIGNAL(valueChanged(int)), spinBox, SLOT(setValue(int)));
spinBox->setValue(35);
QHBoxLayout *layout = new QHBoxLayout;
layout->addWidget(spinBox);
layout->addWidget(slider);
window->setLayout(layout);

window->show();

return app.exec();
}

       3.启动编译,ctrl + F7,成功。

       4.启动链接,ctrl + F5,失败,报一大堆“找不到外部符号”,共131个报错.

       5.设置了工程settings,添加include包含,库文件路径。 在vc++目录项、

           c++项都做了添加include、lib路径包含工作,无用。链接通不过。

      6、试图通过#pragma comment(lib,"****.lib")包含库文件,无用。链接通不过。

      7、网上没有关于qt空项目的特点,可能很少人用吧。

四、尝试了很多方法,比如观察qt creator 空项目做法,系统环境设置,path设置。关键是为啥不能识别到库文件?

五、最后解决了,方法很简单:在project settings  -- 链接器 --输入 --附加依赖项,把所有的qt库.lib都列出来。

       注意几点:1.还是有报错,说某某lib文件有问题,解决办法:在附加依赖项删除之。

                         2.一个一个的写.lib文件名到“附加依赖项”不现实,利用 dir  /b  *.lib  > temp.txt命令行搞定.

六、瞎折腾的,也许有更好的办法,有机会再摸索.

 

  

       

posted @ 2020-10-14 11:48  hogon2020  阅读(579)  评论(0编辑  收藏  举报