qt+vs2013关于添加配置文件的问题

qt creator是在运行里添加config的,vs2013怎么添加啊图片说明

vs2013配置界面不知道选哪个
图片说明

2个回答

顶上菜单,项目-属性,左边选择活动配置

data120507
倒霉小菜鸟 右边在哪里添加config?
大约 4 年之前 回复
data120507
倒霉小菜鸟 右边在哪里添加config?
大约 4 年之前 回复

VS支持命令行参数,你在工程右键属性中找

data120507
倒霉小菜鸟 方便截个图给我看么,我在属性里也找不到 T_T
大约 4 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
qt+vs2013关于添加配置文件的问题
qt creator是在运行里添加config的,vs2013怎么添加啊![图片说明](https://img-ask.csdn.net/upload/201601/06/1452047980_3581.png) vs2013配置界面不知道选哪个 ![图片说明](https://img-ask.csdn.net/upload/201601/06/1452068387_839728.png)
在qt安装过程中配置vs的问题
我下载了qt-vs-addin-1.2.4-opensource 和qt-opensource-windows-x86-msvc2012_opengl-5.4.1,然后分别安装过后,我打开了vs2012,选择QT5菜单中的QT options选项,之后添加了含有bin文件的文件夹。最后又建立一个qt5的工程,工程建立完毕就出现了object reference not set to an instance of object对话框
qt添加sdk的问题,求大神赐教
本人新手,最近公司项目需要对接七牛云的库进行上传图片,但是官网只提供了sdk,其中Windows的sdk文件下载后是这样的,求大神解答怎么添加到我的qt工程中去并且如何配置![图片说明](https://img-ask.csdn.net/upload/201805/31/1527737990_439440.png) 其中bin文件中是一些.dll的文件,include只有一些.h的头文件,lib中就只有一个qiniu.lib
Qt5.14.0配置opencv4.1.2库缺少头文件
在.pro文件中添加了代码 <br /> INCLUDEPATH += D:/Qt/opencvl412/install/include/opencv2 \ D:/Qt/opencvl412/install/include LIBS += D:/Qt/opencvl412/install/x64/mingw/lib/libopencv_*.a <br /> ![图片说明](https://img-ask.csdn.net/upload/201912/19/1576740833_70073.png) <br /> 在系统变量中添加了 <br /> D:\Qt\opencvl412\install\x64\mingw\bin ![图片说明](https://img-ask.csdn.net/upload/201912/19/1576741008_706086.png) <br /> 本来应该有四个提示的 <br /> ![图片说明](https://img-ask.csdn.net/upload/201912/19/1576741100_626269.png) <br /> 现在只有三个 <br /> ![图片说明](https://img-ask.csdn.net/upload/201912/19/1576741073_238807.png) <br /> 想知道为什么没有那个 opencv/ ,有影响吗?怎么解决?
Linux QT halcon 动态库配置问题
# 环境说明: ubuntu 18.04 QT 5.12.0 Halcon 18.11.1 # QT PRO文件配置如下: ``` #includes INCLUDEPATH += /opt/halcon/include \ INCLUDEPATH += /opt/halcon/include/halconcpp \ #lib LIBS += -L/opt/halcon/lib/x64-linux/ -lhalcon LIBS += -L/opt/halcon/lib/x64-linux/ -lhalconc LIBS += -L/opt/halcon/lib/x64-linux/ -lhalconcpp LIBS += -L/opt/halcon/lib/x64-linux/ -lhalconcppxl LIBS += -L/opt/halcon/lib/x64-linux/ -lhalconcxl LIBS += -L/opt/halcon/lib/x64-linux/ -lhalconxl LIBS += -L/opt/halcon/lib/x64-linux/ -lhdevenginecpp LIBS += -L/opt/halcon/lib/x64-linux/ -lhdevenginecppxl ``` # DEBUG 报错: error while loading shared libraries: libhalconcppxl.so.18.11.1: cannot open shared object file: No such file or directory # 另一种方法: 项目---右键---添加库---选择.so,依次添加,但结果还是一样。
QT工程中如何多个UI文件使用一个.qrc文件
VS2010 创建了一个QT项目,在其中又添加了一个UI,想让两个UI同时使用工程中的同一个.qrc文件进行国际化配置(ts文件翻译),请大神赐教!!!在线等,,急!!
Qt Creator(msvc2012)配置OpenCV3.0的问题
按照:[](http://blog.csdn.net/xueweuchen/article/details/23207879 "") 配置 pro文件里添加包含库路径 ![图片说明](https://img-ask.csdn.net/upload/201508/20/1440052630_405515.png) 程序添加引用并定义Mat结构 ![图片说明](https://img-ask.csdn.net/upload/201508/20/1440052606_768875.png) 报错 ![图片说明](https://img-ask.csdn.net/upload/201508/20/1440052614_351042.png)
Qt Creator添加了Qt-5.12源码工程,好多头文件都找不到怎么办?
![图片说明](https://img-ask.csdn.net/upload/201812/17/1545059465_187408.jpg) 如图,下的officerealease的qt5.12,creator也是其自带的,把源码添加为“现有工程”,到编辑器里看,都是这种红红的找不到头文件,看了眼环境也配置了啊,这是怎么回事? ![图片说明](https://img-ask.csdn.net/upload/201812/17/1545059967_663766.jpg)
QT ARM 交叉编译 求帮助
已经安装 QT5.2.1for linux 和 arm-linux-gcc 以及 qt-4.8.3-linux-arm-install。 执行#arm-linux-gcc -v 和#qmake -v 都能成功现实版本号。而且我已经在/etc/profile中添加: export PATH=$PATH:/opt/FriendlyARM/toolschain/4.4.3/bin export PATH=$PATH:/usr/local/qt-4.8.3-linux-arm-install/bin export QMAKESPEC=/usr/local/qt-4.8.3-linux-arm-install/mkspecs/qws/linux-arm-g++ 问题1:在编译hello.cpp文件时,显示如下: wangsy@9527laptop:~/test$ qmake -project wangsy@9527laptop:~/test$ qmake wangsy@9527laptop:~/test$ make arm-linux-g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/local/qt-4.8.3-linux-arm-install/mkspecs/qws/linux-arm-g++ -I. -I/usr/local/qt-4.8.3-linux-arm-install/include/QtCore -I/usr/local/qt-4.8.3-linux-arm-install/include/QtNetwork -I/usr/local/qt-4.8.3-linux-arm-install/include/QtGui -I/usr/local/qt-4.8.3-linux-arm-install/include -I. -I. -o hello.o hello.cpp arm-linux-g++ -Wl,-O1 -Wl,-rpath,/usr/local/qt-4.8.3-linux-arm-install/lib -o test hello.o -L/usr/local/qt-4.8.3-linux-arm-install/lib -lQtGui -L/usr/local/qt-4.8.3-linux-arm-install/lib -lQtNetwork -lQtCore -lpthread 问题2:在 Qt Creator 中,在Qt versions中已经添加了qt-4.8.3-linux-arm-install中的qmake,路径是/usr/local/qt-4.8.3-linux-arm-install/bin/qmake;在Compilers中添加了arm-linux-gcc,路径是/opt/FriendlyARM/toolschain/4.4.3/arm-none-linux-gnueabi/bin/gcc。可是在build的时候会显示这样的信息: Error while parsing file /home/wangsy/QT_test/console_test/console_test.pro. Giving up. Cannot read /qws/linux-arm-g++/qmake.conf: No such file or directory Could not read qmake configuration file /qws/linux-arm-g++/qmake.conf. Could not read qmake configuration file /qws/linux-arm-g++/qmake.conf. 对于问题一,这种提示是说我环境没配好吗?如果是的话我应该怎么修改? 对于问题二,应该在哪里配置才能解决这个问题? 跪谢大神帮助~~
Qt5.8怎么添加taglib库
刚学qt不久,想做个播放器,在获取文件信息时查了下说用taglib比较好,但是不知道怎么配置库,另外如果能有大神提供taglib提取歌曲各种信息的源码供我学习就更好了
qt 运行出来的框图有残缺
# cpp文件 ``` #include "vsbak.h" #include "ui_vsbak.h" #include <QSettings> #include <QFileDialog> #include<QTime> #include<QtDebug> #include <QMessageBox> #define CONFIG_FILE "config.ini" const QString EXCLUDE_FILE = "/home/hu/project2";// 這個文件沒啥用 Vsbak::Vsbak(QWidget *parent) : QWidget(parent) , ui(new Ui::Vsbak) { ui->setupUi(this); QSettings *configIniRead = new QSettings(CONFIG_FILE, QSettings::IniFormat); dir_src = configIniRead->value("/main/bak_src").toString(); dir_dest = configIniRead->value("/main/bak_dest").toString(); // 配置文件里面有目标地址 gpg_key = configIniRead->value("/main/gpg_key").toString(); exclude_from = configIniRead->value("exclude/exclude").toString(); delete configIniRead; // init bash terminal //QProcess可以用于启动外部程序 cmd = new QProcess(this);// 因为与父类直接释放内存 // Sets the working directory to dir. QProcess will start the process in this directory. //The default behavior is to start the process in the working directory of the calling process. cmd->setWorkingDirectory(dir_src); //This signal is emitted when the process has made new data available //through its standard output channel (stdout). It is emitted regardless of the current read channel. connect(cmd, &QProcess::readyReadStandardOutput, this, &Vsbak::on_readyReadStandardOutput); connect(cmd, &QProcess::readyReadStandardError, this, &Vsbak::on_readyReadStandardError); ui->lineEdit->setText(dir_src); ui->lineEdit_2->setText(dir_dest); // 在ui里直接设置这个地址 // init comboBox init_comboBox(); // init radiobutton: choice full ui->radioButton->setChecked(true); ui->checkBox->setChecked(false); ui->checkBox_2->setEnabled(false); ui->checkBox_3->setEnabled(false); } /* * 设置最大可见数目为5,是不是不合理? */ void Vsbak::init_comboBox() // 找压缩好的文件 Combobox 下拉菜单 { /* * 1. 用一个对象进入dir-dest目录下 * 2. 过滤掉包含后追的文件 * 3. 获取被过滤的文件理解 */ // find all backup.tar.gz files //The QDir class provides access to directory structures and their contents. 不仅能看到结构,还可以看到目录 QDir *curDir = new QDir(dir_dest); //The QStringList class provides a list of strings. //可以让你提取一个新的列表只包含这些字符串包含一个特定的字符串(或匹配特定正则表达式) QStringList filter; // 过渡成一个目录 filter << "*.tar.gz" << "*.tar.gz.gpg"; curDir->setNameFilters(filter); // 过滤掉特定的目录下的文件 //Returns a list of QFileInfo objects for all the files and directories in the directory //QDir::entryInfoList()会获取该目录下所有目录和文件的QFileInfo对象的列表 QList<QFileInfo> *tarFileInfo = new QList<QFileInfo>(curDir->entryInfoList(filter)); /* * dir_dest 里面存放的其实都是被压缩的文件,所以用上面的后缀直接进行过滤 * 1. 设置最大的可见数目为5 * 2. 看目录里面有多少,然后放入这个comboBox * 3. 获取被过滤的文件 * 4. 按照顺序放入到combobox中 */ ui->comboBox->clear(); ui->comboBox->setMaxVisibleItems(5); // 最大可见数目 5 //The string will be inserted as the first item in the combobox. ui->comboBox->setInsertPolicy(QComboBox::InsertAtTop); for (int i=0; i< tarFileInfo->count(); i++)// count()只是计算里面的数量,tarFileinfo实际上是一个文件列表 ui->comboBox->addItem(tarFileInfo->at(i).fileName()); } Vsbak::~Vsbak() { delete ui; // 有何作用 if(cmd->state() == QProcess::Running){ cmd->terminate(); cmd->waitForFinished(); } } void Vsbak::on_readyReadStandardOutput() { // QString out = QString::fromLocal8Bit(cmd->readAllStandardOutput()); // ui->label_4->setText(out); } void Vsbak::on_readyReadStandardError() { QMessageBox::information(0, "Error", cmd->readAllStandardError()); } // change dir_src void Vsbak::on_toolButton_clicked() { /* * 1. 或许dir_src的文件目录名称 * 2. 将dir_src的文件目录名写到lineEdit上面 * 3. 更新配置文件里面的信息 * 4. 设置工作目录 * */ QString dirname; dirname = QFileDialog::getExistingDirectory(this, tr("Open Directory"), dir_src, QFileDialog::ShowDirsOnly | QFileDialog::DontResolveSymlinks); if(dirname.isEmpty()) return; else { dir_src = dirname; ui->lineEdit->setText(dir_src); QSettings *configIniWrite = new QSettings(CONFIG_FILE, QSettings::IniFormat); configIniWrite->setValue("/main/bak_src", dir_src); delete configIniWrite; cmd->setWorkingDirectory(dir_src); ui->label_4->setText("change source dir sucess!"); } } // change dir_dest void Vsbak::on_toolButton_2_clicked() { QString dirname; // getExistingDirectory 只获取文件夹 dirname = QFileDialog::getExistingDirectory(this, tr("Open Directory"), dir_dest, QFileDialog::ShowDirsOnly | QFileDialog::DontResolveSymlinks); if(dirname.isEmpty()) return; else { dir_dest = dirname; ui->lineEdit_2->setText(dir_dest); QSettings *configIniWrite = new QSettings(CONFIG_FILE, QSettings::IniFormat); configIniWrite->setValue("/main/bak_dest", dir_dest); delete configIniWrite; ui->label_4->setText("change dest dir sucess!"); } } int Vsbak::get_min(QDateTime curTime) { QSettings *configIniReadWrite = new QSettings(CONFIG_FILE, QSettings::IniFormat); int lastTime = configIniReadWrite->value("/main/last_time").toInt();// 将值转化成整形 configIniReadWrite->setValue("/main/last_time", curTime.toTime_t()); delete configIniReadWrite; int minDiff = (curTime.toTime_t()-lastTime) / 60 + 1; return minDiff; } void Vsbak::on_checkBox_clicked() { if(ui->checkBox->isChecked()){ ui->checkBox_2->setEnabled(true); ui->checkBox_3->setEnabled(true); } else{ ui->checkBox_2->setEnabled(false); ui->checkBox_3->setEnabled(false); } } /* * 3 个 String类型 * targz:time + full.tar.gz * cmd_find:find ./ -type f | grep -v \'Permission denied\' > TEPLIST * cmd_tar *目录列表 * * * */ void Vsbak::on_pushButton_clicked(){ // The QDateTime class provides date and time functions. // 调用QDatetime里面的一个函数,赋给另一个QDatetime的类型 QDateTime current_date_time = QDateTime::currentDateTime(); // 初始化三个String类型 QString targz, cmd_find, cmd_tar; //RadioButton presents an option button that can be toggled on (checked) or off (unchecked). //Radio buttons are typically used to select one option from a set of options. //Use isChecked() to see if a particular button is selected. if(ui->radioButton->isChecked()){ // 如果radiobutton 被选择了,那么就进行备份,如果没有就只输出时间 // Linux find命令用来在指定目录下查找文件。 // 将目前目录其其下子目录中所有一般文件列出 # find . -type f // Linux grep 命令用于查找文件里符合条件的字符串。 // -v 或 --revert-match : 显示不包含匹配文本的所有行。 // 反向查找。前面各个例子是查找并打印出符合条件的行,通过"-v"参数可以打印出不符合条件行的内容。 // ./ 表示当前目录的全路径 当前目录的全路径 没有这个 \'Permission denied\'???? //linux的命令,查找文件然后设置权限 // 这个是不管修改不修改,全部列出来 cmd_find = "find ./ -type f | grep -v \'Permission denied\' > TEPLIST";// 这个功能是什么呢 targz = current_date_time.toString("yyyy-MM-dd_hh.mm.ss") + ".full.tar.gz"; }else{ // 会替换掉前面的百分之1,替换规则是从小到大 //get_min是一个函数,看它具体怎么实现的,应该是循环遍历了current_date_time,找到最小???? int minDiff = get_min(current_date_time); // 获得是最小的查值 // 完成命令,把距离最新一次全部修改的文件单独列出来 cmd_find = QString("find ./ -mmin -%1 -type f | grep -v \'Permission denied\' > TEPLIST").arg(minDiff); targz = current_date_time.toString("yyyy-MM-dd_hh.mm.ss") + ".inc.tar.gz"; } // exclude from 是一个配置目录 // tar命令 //-v或--verbose 显示指令执行过程 // --totals 备份文件建立后,列出文件大小 //cmd_tar这是压缩tar的linux命令,将exclude里面的文件全部列出来,进行压缩 cmd_tar = QString("tar --verbose --totals --exclude-vcs %1 --files-from=TEPLIST -czf %2/%3").arg(exclude_from).arg(dir_dest).arg(targz);//?5 // 向调试器输出命令的执行结果,方便调试排错 qDebug()<< cmd_find << endl << cmd_tar<< endl; // 下面整个过程就是执行这个命令 QStringList cmd_pipe;// 初始化了一个String目录 cmd_pipe << "-c" << cmd_find; // 说明这个cmd-pipe已经变成了一个linux的cmd命令了 cmd->start("/bin/bash",cmd_pipe); // 开始一个程序 cmd->waitForFinished(); cmd->close(); cmd->start(cmd_tar);// cmd_tar 也变成了一个程序 cmd->waitForFinished(); cmd->close(); cmd->start("rm -f TEPLIST");// 强制删除teplist, teplist 就是临时文件 cmd->waitForFinished(); /*********** Encrypting*************/ // gpg-k 增加公共钥匙 if(ui->checkBox->isChecked()){ QString cmd_enc; QString cmd_isKey = "gpg -k " + gpg_key; cmd->start(cmd_isKey); cmd->waitForFinished(); QString out = QString::fromLocal8Bit(cmd->readAllStandardOutput());// 这个输出就不是很理解为什么 if(out.isEmpty()) // -o, --output FILE write output to FILE // c 说是使用对称加密,看起来很奇怪 cmd_enc = QString("gpg -c -o %1/%2.gpg %1/%2").arg(dir_dest).arg(targz); else // e 是加密数据 , 针对 用户 id 进行加密 cmd_enc = QString("gpg -e -r %1 -o %2/%3.gpg %2/%3").arg(gpg_key).arg(dir_dest).arg(targz); cmd->start(cmd_enc); cmd->waitForFinished(); if(false == ui->checkBox_2->isChecked()){ QString cmd_rm = QString("rm %1/%2.gpg").arg(dir_dest).arg(targz); cmd->start(cmd_rm); cmd->waitForFinished(); } if(false == ui->checkBox_3->isChecked()){ QString cmd_rm = QString("rm %1/%2").arg(dir_dest).arg(targz); cmd->start(cmd_rm); cmd->waitForFinished(); } /* * /home/hu/桌面/vsbak/backup/2019-11-13_19.38.57.full.tar.gz * */ // ui->comboBox->addItem(targz); init_comboBox(); } } void Vsbak::on_pushButton_2_clicked(){ QString targz = ui->comboBox->currentText(); if (targz.endsWith(".tar.gz.gpg")){ targz = targz.remove(".gpg"); QString cmd_enc; QString cmd_isKey = "gpg -k " + gpg_key; cmd->start(cmd_isKey); cmd->waitForFinished(); QString out = QString::fromLocal8Bit(cmd->readAllStandardOutput()); if(out.isEmpty()) cmd_enc = QString("gpg -d -o %1/%2 %1/%2.gpg").arg(dir_dest).arg(targz); else cmd_enc = QString("gpg -d -r %1 -o %2/%3 %2/%3.gpg").arg(gpg_key).arg(dir_dest).arg(targz); cmd->start(cmd_enc); cmd->waitForFinished(); } QString cmd_str = QString("tar -xvf %1/%2").arg(dir_dest).arg(targz); qDebug() << cmd_str; cmd->start(cmd_str); cmd->waitForFinished(); } ``` 上面是cpp文件 下面是 # h文件 #ifndef VSBAK_H #define VSBAK_H #include <QWidget> #include<QProcess> QT_BEGIN_NAMESPACE namespace Ui { class Vsbak; } QT_END_NAMESPACE class Vsbak : public QWidget { Q_OBJECT public: Vsbak(QWidget *parent = nullptr); ~Vsbak(); private slots: void on_readyReadStandardOutput(); void on_readyReadStandardError(); void on_toolButton_clicked(); void on_toolButton_2_clicked(); void on_pushButton_clicked(); void on_pushButton_2_clicked(); void on_checkBox_clicked(); private: Ui::Vsbak *ui; QProcess *cmd; QString dir_dest; QString dir_src; QString gpg_key; QString exclude_from; void init_comboBox(); int get_min(QDateTime curTime);// 获得整形 }; #endif // VSBAK_H 我运行之后出来的qt界面,原本是可以下拉选择的,但是都没有反映,这是为啥
Qt跨dll之间的通信和组件开发
最近看到一个别人的开发框架,组件化的管理。exe工程里基本没有甚么东西,所有的操作都是在dll之间实现的。菜单menu、工具条toolbar,窗口docwidget都是在xml的配置文件中添加,在一个dll中通过addmenu,addtoolbar等添加到界面上。现在麻烦的一点是事件的相应,或者说信号/槽的对应。因为具体的实现在在另一个dll中,所以重点就是实现这两个dll间的连接。 因为那个框架是封装好的,只有头文件,dll。看不到后台的具体实现。哪位大神指导通过甚么机制能实现这种效果吗。
visual studio使用qstring.h报错的问题
在visual studio 2017中新建了一个工程(代码是网上拷的),其中用到QString这个类型,编译时总是报错,后来定位到时qstring.h(小写的qstring),打开后显示如下 ![图片说明](https://img-ask.csdn.net/upload/201912/27/1577414217_90801.png) 我打开QT目录D:\Qt\Qt5.6.3\5.6.3\msvc2015_64\include\QtCore,这些头文件都是可以找到的,为什么会显示不出来呢?右边的在项目配置中也扫不出来这些文件 ![图片说明](https://img-ask.csdn.net/upload/201912/27/1577414701_994025.png) 但我已经把路径添加进去了 ![图片说明](https://img-ask.csdn.net/upload/201912/27/1577414442_828847.png) 后来发现如果把#include <QtCore/qchar.h>前面的QtCore去掉,就都可以了,右面也可以扫的出来 ![图片说明](https://img-ask.csdn.net/upload/201912/27/1577414829_614937.png)
qmake未自动添加包含路径
编译qt5.4后,利用qmake生成pro文件,自动将项目中的子目录添加到INCLUDEPATH,如下所示 ![图片说明](https://img-ask.csdn.net/upload/201602/02/1454404430_502756.png) ![图片说明](https://img-ask.csdn.net/upload/201602/02/1454404515_258030.png) 之后,我编译qt5.5,利用qmake生成的pro文件,却未将项目中子目录添加到INCLUDEPATH(tmp子目录),导致代码中头文件依赖问题:必须包含子目录前缀#Include “tmp/b.h",否则找不到对应的头文件 ![图片说明](https://img-ask.csdn.net/upload/201602/02/1454404933_66075.png) 问题:始终未找到哪个配置项会影响qmake的这个行为:自动将子目录添加到包含路径中,请教各位,谢谢。
QT工程添加log4pp报错
pro文件下 #log4日志 INCLUDEPATH += ./log4cpp-1.1.2rc5/include DEPENDPATH += ./log4cpp-1.1.2rc5/lib logger.h #ifndef LOGGER_H #define LOGGER_H //log4cpp #include <log4cpp/Category.hh> #include <log4cpp/OstreamAppender.hh> #include <log4cpp/BasicLayout.hh> #include <log4cpp/Priority.hh> #include <log4cpp/PropertyConfigurator.hh> #include <log4cpp/RollingFileAppender.hh> #include <log4cpp/PatternLayout.hh> #ifdef _DEBUG #pragma comment(lib, "../log4cpp-1.1.2rc5/lib/log4cppD.lib") #else #pragma comment(lib, "../log4cpp-1.1.2rc5/lib/log4cppLIB.lib") #endif #pragma comment(lib, "Ws2_32.lib") #pragma comment(lib, "AdvAPI32.Lib") #define LOG4_APP_INFO (log4cpp::Category::getInstance(std::string("app")) << log4cpp::Priority::INFO) #define LOG4_APP_ERROR (log4cpp::Category::getInstance(std::string("app")) << log4cpp::Priority::ERROR) #define LOG4_APP_FATAL (log4cpp::Category::getInstance(std::string("app")) << log4cpp::Priority::FATAL) #define LOG4_DB_INFO (log4cpp::Category::getInstance(std::string("db")) << log4cpp::Priority::INFO) #define LOG4_DB_ERROR (log4cpp::Category::getInstance(std::string("db")) << log4cpp::Priority::ERROR) #define LOG4_CARD_INFO (log4cpp::Category::getInstance(std::string("card")) << log4cpp::Priority::INFO) #define LOG4_CARD_ERROR (log4cpp::Category::getInstance(std::string("card")) << log4cpp::Priority::ERROR) #endif // LOGGER_H 初始化加载: //加载日志的配置文件 try { char log4inifile[200] = "./ini/log4cpp.ini"; log4cpp::PropertyConfigurator::configure(log4inifile); } catch (log4cpp::ConfigureFailure &f) { qFatal(f.what()); return false; } LOG4_APP_INFO<<"log4cpp.ini initsuccess.."; 但是debug调试的时候 LOG4_APP_INFO<<"log4cpp.ini initsuccess..";报错,错误信息是: ![图片说明](https://img-ask.csdn.net/upload/201707/05/1499246297_492117.png) 这是怎么回事??
Linux系统下使用指纹识别获取sudo权限,使用PAM验证,不弹出自己编写的界面
使用指纹代替密码在Linux系统下获取sudo授权,参考开源fingerprintGUI 编写了PAM模块,该文件中包含pam_sm_authenticate,pam_sm_setcred函数,在pam_sm_authenticate中fork()出一个子进程,在子进程中使用execl运行指纹识别的QT GUI,pam_sm_setcred函数直接返回PAM_SUCCESS,之后修改了sudo的配置文件添加了第一句,后面是系统默认的 auth sufficient libFingerprintPAM.so auth required pam_env.so readenv=1 user_readenv=0 auth required pam_env.so readenv=1 envfile=/etc/default/locale user_readenv=0 在root用户下使用命令export DISPLAY=:0.0;xhost +$HOSTNAME,执行sudo命令后不会跳出QT界面,但是打印信息显示QT 界面已经运行了,若是一个空的界面则可以显示,而且即使是识别成功也还是需要输密码,QT新手Linux新手搞得好艰难,跪求大神指点。
在qtcreator下出现LINK : fatal error LNK1104: 无法打开文件“opencv_core.lib”
在网上找了好多解决方法都没能把问题解决~在debug下出现这种问题,查看qtcreator的opencv配置也没有什么问题啊 配置添加如下: INCLUDEPATH+=D:\OpenCV\opencv\build\include\opencv2\ D:\OpenCV\opencv\build\include\opencv\ D:\OpenCV\opencv\build\include CONFIG(release,debug|release) { LIBS+=D:\OpenCV\opencv\build\x86\vc10\lib\opencv_calib3d246.lib\ D:\OpenCV\opencv\build\x86\vc10\lib\opencv_contrib246.lib\ D:\OpenCV\opencv\build\x86\vc10\lib\opencv_core246.lib\ D:\OpenCV\opencv\build\x86\vc10\lib\opencv_features2d246.lib\ D:\OpenCV\opencv\build\x86\vc10\lib\opencv_flann246.lib\ D:\OpenCV\opencv\build\x86\vc10\lib\opencv_gpu246.lib\ D:\OpenCV\opencv\build\x86\vc10\lib\opencv_highgui246.lib\ D:\OpenCV\opencv\build\x86\vc10\lib\opencv_imgproc246.lib\ D:\OpenCV\opencv\build\x86\vc10\lib\opencv_legacy246.lib\ D:\OpenCV\opencv\build\x86\vc10\lib\opencv_ml246.lib\ D:\OpenCV\opencv\build\x86\vc10\lib\opencv_objdetect246.lib\ D:\OpenCV\opencv\build\x86\vc10\lib\opencv_ts246.lib\ D:\OpenCV\opencv\build\x86\vc10\lib\opencv_video246.lib } CONFIG(debug,debug|release) { LIBS+=D:\OpenCV\opencv\build\x86\vc10\lib\opencv_calib3d246d.lib\ D:\OpenCV\opencv\build\x86\vc10\lib\opencv_contrib246d.lib\ D:\OpenCV\opencv\build\x86\vc10\lib\opencv_core246d.lib\ D:\OpenCV\opencv\build\x86\vc10\lib\opencv_features2d246d.lib\ D:\OpenCV\opencv\build\x86\vc10\lib\opencv_flann246d.lib\ D:\OpenCV\opencv\build\x86\vc10\lib\opencv_gpu246d.lib\ D:\OpenCV\opencv\build\x86\vc10\lib\opencv_highgui246d.lib\ D:\OpenCV\opencv\build\x86\vc10\lib\opencv_imgproc246d.lib\ D:\OpenCV\opencv\build\x86\vc10\lib\opencv_legacy246d.lib\ D:\OpenCV\opencv\build\x86\vc10\lib\opencv_ml246d.lib\ D:\OpenCV\opencv\build\x86\vc10\lib\opencv_objdetect246d.lib\ D:\OpenCV\opencv\build\x86\vc10\lib\opencv_ts246d.lib\ D:\OpenCV\opencv\build\x86\vc10\lib\opencv_video246d.lib }
运行ubuntu里的vim提示找不到映射,回车之后可以正常进入编辑,应该怎么解决,求大神
``` python@ubuntu:~$ vim 找不到映射 请按 ENTER 或其它命令继续 ``` vim的配置文件如下 ``` let Tlist_Auto_Highlight_Tag=1 let Tlist_Auto_Open=1 let Tlist_Auto_Update=1 let Tlist_Display_Tag_Scope=1 let Tlist_Exit_OnlyWindow=1 let Tlist_Enable_Dold_Column=1 let Tlist_Show_One_File=1 let Tlist_Use_Right_Window=1 let Tlist_Use_SingleClick=1 nnoremap :TlistToggle filetype plugin on autocmd FileType python set omnifunc=pythoncomplete#Complete autocmd FileType javascrīpt set omnifunc=javascriptcomplete#CompleteJS autocmd FileType html set omnifunc=htmlcomplete#CompleteTags autocmd FileType css set omnifunc=csscomplete#CompleteCSS autocmd FileType xml set omnifunc=xmlcomplete#CompleteTags autocmd FileType php set omnifunc=phpcomplete#CompletePHP autocmd FileType c set omnifunc=ccomplete#Complete let g:pydiction_location='~/.vim/tools/pydiction/complete-dict' set autoindent set number filetype indent on set smartindent set smarttab set nu set expandtab set tabstop=4 set softtabstop=4 set shiftwidth=4 " 开启语法高亮 syntax on " 设置文字编码自动识别 set fencs=utf-8,cp936 " 使用鼠标 set mouse=v " 设置高亮搜索 set hlsearch " 输入字符串就显示匹配点 set incsearch " 输入的命令显示出来,看的清楚些。 set showcmd " Tlist的内部变量。函数列表。 let Tlist_File_Fold_Auto_Close=1 " 打开当前目录文件列表 map <F3> :Explore<CR> " 函数和变量列表 map <F4> :TlistToggle<CR> " 全能补全 inoremap <F8> <C-x><C-o> " 没事,鼠标画线玩的。 " noremap <F9> :call ToggleSketch()<CR> " 启动函数变量快速浏览的时间设置 set updatetime=100 set cindent map <C-o> :WMToggle<CR> map <F5> :cnext<CR> map <F6> :cprev<CR> map <F7> :call Searchword()<CR> set tabstop=4 set nocp filetype plugin on set tags+=~/.vim/tags/cpp set tags+=~/.vim/tags/c set tags+=~/.vim/tags/gl set tags+=~/.vim/tags/sdl "set tags+=~/.vim/tags/qt4 set tags+=~/.vim/tags/systags "build tags of your own project with Ctrl-F12 map <C-p> :!ctags -R --sort=yes --c++-kinds=+p --fields=+iaS --extra=+q .<CR> "0mniCppComplete let OmniCpp_NamespaceSearch = 1 let OmniCpp_GlobalScopeSearch = 1 let OmniCpp_ShowAccess = 1 let OmniCpp_ShowPrototypeInAbbr = 1 " show function parameters let OmniCpp_MayCompleteDot = 1 " autocomplete after . let OmniCpp_MayCompleteArrow = 1 " autocomplete after -> let OmniCpp_MayCompleteScope = 1 " autocomplete after :: let OmniCpp_DefaultNamespaces = ["std", "_GLIBCXX_STD"] " automatically open and close the popup menu / preview window au CursorMovedI,InsertLeave * if pumvisible() == 0|silent! pclose|endif set completeopt=menuone,menu,longest,preview "用来设置自动添加注释 Dox DoxAuthor DoxBlock let g:DoxygenToolkit_authorName="xwp_fullstack@163.com" let g:DoxygenToolkit_briefTag_funcName="yes" map <F9> :Dox<CR> map <F8> :DoxAuthor<CR> ```
130 个相见恨晚的超实用网站,一次性分享出来
相见恨晚的超实用网站 持续更新中。。。
我花了一夜用数据结构给女朋友写个H5走迷宫游戏
起因 又到深夜了,我按照以往在csdn和公众号写着数据结构!这占用了我大量的时间!我的超越妹妹严重缺乏陪伴而 怨气满满! 而女朋友时常埋怨,认为数据结构这么抽象难懂的东西没啥作用,常会问道:天天写这玩意,有啥作用。而我答道:能干事情多了,比如写个迷宫小游戏啥的! 当我码完字准备睡觉时:写不好别睡觉! 分析 如果用数据结构与算法造出东西来呢? ...
对计算机专业来说学历真的重要吗?
我本科学校是渣渣二本,研究生学校是985,现在毕业五年,校招笔试、面试,社招面试参加了两年了,就我个人的经历来说下这个问题。 这篇文章很长,但绝对是精华,相信我,读完以后,你会知道学历不好的解决方案,记得帮我点赞哦。 先说结论,无论赞不赞同,它本质就是这样:对于技术类工作而言,学历五年以内非常重要,但有办法弥补。五年以后,不重要。 目录: 张雪峰讲述的事实 我看到的事实 为什么会这样 ...
字节跳动视频编解码面经
三四月份投了字节跳动的实习(图形图像岗位),然后hr打电话过来问了一下会不会opengl,c++,shador,当时只会一点c++,其他两个都不会,也就直接被拒了。 七月初内推了字节跳动的提前批,因为内推没有具体的岗位,hr又打电话问要不要考虑一下图形图像岗,我说实习投过这个岗位不合适,不会opengl和shador,然后hr就说秋招更看重基础。我当时想着能进去就不错了,管他哪个岗呢,就同意了面试...
win10系统安装教程(U盘PE+UEFI安装)
一、准备工作 u盘,电脑一台,win10原版镜像(msdn官网) 二、下载wepe工具箱 极力推荐微pe(微pe官方下载) 下载64位的win10 pe,使用工具箱制作启动U盘打开软件, 选择安装到U盘(按照操作无需更改) 三、重启进入pe系统 1、关机后,将U盘插入电脑 2、按下电源后,按住F12进入启动项选择(技嘉主板是F12) 选择需要启...
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过...
Python——画一棵漂亮的樱花树(不同种樱花+玫瑰+圣诞树喔)
最近翻到一篇知乎,上面有不少用Python(大多是turtle库)绘制的树图,感觉很漂亮,我整理了一下,挑了一些我觉得不错的代码分享给大家(这些我都测试过,确实可以生成) one 樱花树 动态生成樱花 效果图(这个是动态的): 实现代码 import turtle as T import random import time # 画樱花的躯干(60,t) def Tree(branch, ...
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...
《奇巧淫技》系列-python!!每天早上八点自动发送天气预报邮件到QQ邮箱
将代码部署服务器,每日早上定时获取到天气数据,并发送到邮箱。 也可以说是一个小人工智障。 思路可以运用在不同地方,主要介绍的是思路。
致 Python 初学者
欢迎来到“Python进阶”专栏!来到这里的每一位同学,应该大致上学习了很多 Python 的基础知识,正在努力成长的过程中。在此期间,一定遇到了很多的困惑,对未来的学习方向感到迷茫。我非常理解你们所面临的处境。我从2007年开始接触 python 这门编程语言,从2009年开始单一使用 python 应对所有的开发工作,直至今天。回顾自己的学习过程,也曾经遇到过无数的困难,也曾经迷茫过、困惑过。开办这个专栏,正是为了帮助像我当年一样困惑的 Python 初学者走出困境、快速成长。希望我的经验能真正帮到你
Ol4网格生成以及优化
概述 先描述一下大致场景:以0.05为单元格大小生成网格,并在地图上绘制,绘制的时候需要区分海陆。本文以此需求为契机,简单描述一下该需求的实现以及如何来优化。 效果 实现 优化前 var source = new ol.source.Vector({ features: [] }); var vector = new ol.layer.Vector({ source...
11月19日科技资讯|华为明日发布鸿蒙整体战略;京东宣告全面向技术转型;Kotlin 1.3.60 发布
「极客头条」—— 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧。扫描上方二维码进入 CSDN App 可以收听御姐萌妹 Style 的人工版音频哟。 一分钟速览新闻点! 6G 专家组成员:速率是 5G 的 10 至 100 倍,预计 2030 年商用 雷军:很多人多次劝我放弃WPS,能坚持下来并不是纯粹的商业决定 ...
C语言魔塔游戏
很早就很想写这个,今天终于写完了。 游戏截图: 编译环境: VS2017 游戏需要一些图片,如果有想要的或者对游戏有什么看法的可以加我的QQ 2985486630 讨论,如果暂时没有回应,可以在博客下方留言,到时候我会看到。 下面我来介绍一下游戏的主要功能和实现方式 首先是玩家的定义,使用结构体,这个名字是可以自己改变的 struct gamerole { char n...
iOS Bug 太多,苹果终于坐不住了!
开源的 Android 和闭源的 iOS,作为用户的你,更偏向哪一个呢? 整理 | 屠敏 出品 | CSDN(ID:CSDNnews) 毋庸置疑,当前移动设备操作系统市场中,Android 和 iOS 作为两大阵营,在相互竞争的同时不断演进。不过一直以来,开源的 Android 吸引了无数的手机厂商涌入其中,为其生态带来了百花齐放的盛景,但和神秘且闭源的 iOS 系统相比,不少网友...
Python语言高频重点汇总
Python语言高频重点汇总 GitHub面试宝典仓库 回到首页 目录: Python语言高频重点汇总 目录: 1. 函数-传参 2. 元类 3. @staticmethod和@classmethod两个装饰器 4. 类属性和实例属性 5. Python的自省 6. 列表、集合、字典推导式 7. Python中单下划线和双下划线 8. 格式化字符串中的%和format 9. 迭代器和生成器 10...
究竟你适不适合买Mac?
我清晰的记得,刚买的macbook pro回到家,开机后第一件事情,就是上了淘宝网,花了500元钱,找了一个上门维修电脑的师傅,上门给我装了一个windows系统。。。。。。 表砍我。。。 当时买mac的初衷,只是想要个固态硬盘的笔记本,用来运行一些复杂的扑克软件。而看了当时所有的SSD笔记本后,最终决定,还是买个好(xiong)看(da)的。 已经有好几个朋友问我mba怎么样了,所以今天尽量客观...
Python爬虫爬取淘宝,京东商品信息
小编是一个理科生,不善长说一些废话。简单介绍下原理然后直接上代码。 使用的工具(Python+pycharm2019.3+selenium+xpath+chromedriver)其中要使用pycharm也可以私聊我selenium是一个框架可以通过pip下载 pip installselenium -ihttps://pypi.tuna.tsinghua.edu.cn/simple/ ...
程序员写了一个新手都写不出的低级bug,被骂惨了。
这种新手都不会范的错,居然被一个工作好几年的小伙子写出来,差点被当场开除了。
Java工作4年来应聘要16K最后没要,细节如下。。。
前奏: 今天2B哥和大家分享一位前几天面试的一位应聘者,工作4年26岁,统招本科。 以下就是他的简历和面试情况。 基本情况: 专业技能: 1、&nbsp;熟悉Sping了解SpringMVC、SpringBoot、Mybatis等框架、了解SpringCloud微服务 2、&nbsp;熟悉常用项目管理工具:SVN、GIT、MAVEN、Jenkins 3、&nbsp;熟悉Nginx、tomca...
2020年,冯唐49岁:我给20、30岁IT职场年轻人的建议
点击“技术领导力”关注∆每天早上8:30推送 作者|Mr.K 编辑| Emma 来源|技术领导力(ID:jishulingdaoli) 前天的推文《冯唐:职场人35岁以后,方法论比经验重要》,收到了不少读者的反馈,觉得挺受启发。其实,冯唐写了不少关于职场方面的文章,都挺不错的。可惜大家只记住了“春风十里不如你”、“如何避免成为油腻腻的中年人”等不那么正经的文章。 本文整理了冯...
程序员该看的几部电影
1、骇客帝国(1999) 概念:在线/离线,递归,循环,矩阵等 剧情简介: 不久的将来,网络黑客尼奥对这个看似正常的现实世界产生了怀疑。 他结识了黑客崔妮蒂,并见到了黑客组织的首领墨菲斯。 墨菲斯告诉他,现实世界其实是由一个名叫“母体”的计算机人工智能系统控制,人们就像他们饲养的动物,没有自由和思想,而尼奥就是能够拯救人类的救世主。 可是,救赎之路从来都不会一帆风顺,到底哪里才是真实的世界?如何...
蓝桥杯知识点汇总:基础知识和常用算法
文章目录基础语法部分:算法竞赛常用API:算法部分数据结构部分 此系列包含蓝桥杯绝大部分所考察的知识点,以及真题题解~ 基础语法部分: 备战蓝桥杯java(一):一般输入输出 和 快速输入输(BufferedReader&amp;BufferedWrite) 备战蓝桥杯java(二):java编程规范和常用数据类型 备战蓝桥杯java(三):常用功能符以及循环结构和分支结构 备战蓝桥杯java(四...
作为一个程序员,CPU的这些硬核知识你必须会!
CPU对每个程序员来说,是个既熟悉又陌生的东西? 如果你只知道CPU是中央处理器的话,那可能对你并没有什么用,那么作为程序员的我们,必须要搞懂的就是CPU这家伙是如何运行的,尤其要搞懂它里面的寄存器是怎么一回事,因为这将让你从底层明白程序的运行机制。 随我一起,来好好认识下CPU这货吧 把CPU掰开来看 对于CPU来说,我们首先就要搞明白它是怎么回事,也就是它的内部构造,当然,CPU那么牛的一个东...
@程序员,如何花式构建线程?
作者 |曾建责编 | 郭芮出品 | CSDN(ID:CSDNnews)在项目和业务的开发中,我们难免要经常使用线程来进行业务处理,使用线程可以保证我们的业务在相互处理之间可以保证原子性...
破14亿,Python分析我国存在哪些人口危机!
一、背景 二、爬取数据 三、数据分析 1、总人口 2、男女人口比例 3、人口城镇化 4、人口增长率 5、人口老化(抚养比) 6、各省人口 7、世界人口 四、遇到的问题 遇到的问题 1、数据分页,需要获取从1949-2018年数据,观察到有近20年参数:LAST20,由此推测获取近70年的参数可设置为:LAST70 2、2019年数据没有放上去,可以手动添加上去 3、将数据进行 行列转换 4、列名...
实现简单的轮播图(单张图片、多张图片)
前言 刚学js没多久,这篇博客就当做记录了,以后还会完善的,希望大佬们多多指点。ps:下面出现的都是直接闪动,没有滑动效果的轮播图。 单张图片的替换 · ...
强烈推荐10本程序员在家读的书
很遗憾,这个春节注定是刻骨铭心的,新型冠状病毒让每个人的神经都是紧绷的。那些处在武汉的白衣天使们,尤其值得我们的尊敬。而我们这些窝在家里的程序员,能不外出就不外出,就是对社会做出的最大的贡献。 有些读者私下问我,窝了几天,有点颓丧,能否推荐几本书在家里看看。我花了一天的时间,挑选了 10 本我最喜欢的书,你可以挑选感兴趣的来读一读。读书不仅可以平复恐惧的压力,还可以对未来充满希望,毕竟苦难终将会...
Linux自学篇——linux命令英文全称及解释
man: Manual 意思是手册,可以用这个命令查询其他命令的用法。 pwd:Print working directory 意思是密码。 su:Swith user 切换用户,切换到root用户 cd:Change directory 切换目录 ls:List files 列出目录下的文件 ps:Process Status 进程状态 mkdir:Make directory ...
Python实战:抓肺炎疫情实时数据,画2019-nCoV疫情地图
今天,群里白垩老师问如何用python画武汉肺炎疫情地图。白垩老师是研究海洋生态与地球生物的学者,国家重点实验室成员,于不惑之年学习python,实为我等学习楷模。先前我并没有关注武汉肺炎的具体数据,也没有画过类似的数据分布图。于是就拿了两个小时,专门研究了一下,遂成此文。
疫情数据接口api
返回json示例 { "errcode":0,//0标识接口正常 "data":{ "date":"2020-01-30 07:47:23",//实时更新时间 "diagnosed":7736,//确诊人数 "suspect":12167,//疑是病例人数 "death":170,//死亡人数 "cur...
智力题(程序员面试经典)
NO.1  有20瓶药丸,其中19瓶装有1克/粒的药丸,余下一瓶装有1.1克/粒的药丸。给你一台称重精准的天平,怎么找出比较重的那瓶药丸?天平只能用一次。 解法 有时候,严格的限制条件有可能反倒是解题的线索。在这个问题中,限制条件是天平只能用一次。 因为天平只能用一次,我们也得以知道一个有趣的事实:一次必须同时称很多药丸,其实更准确地说,是必须从19瓶拿出药丸进行称重。否则,如果跳过两瓶或更多瓶药...
Java与Python学习通法(1)和(2)序言和编程语言发展史怎么学
dd
相关热词 c# 为空 判断 委托 c#记事本颜色 c# 系统默认声音 js中调用c#方法参数 c#引入dll文件报错 c#根据名称实例化 c#从邮件服务器获取邮件 c# 保存文件夹 c#代码打包引用 c# 压缩效率
立即提问