解决msvc静态编译qt后无法更改
安装目录的
问题主要是修改了*.prl中的lib路径,应用了目录遍历和正则表达式
源码以及成品(msvc2012静态
编译,兼容XP)
更改安装目录后将本工具放到安装目录根目录下运行即可 
- #include <QCoreApplication>
- #include <QDebug>
- #include <QDir>
- #include <QFile>
- #include <QRegExp>
- #include <iostream>
- #include <qt_windows.h>
- #include <QDirIterator>
- int main(int argc, char *argv[])
- {
-     QCoreApplication a(argc, argv);
-     QString appPath = QCoreApplication::applicationDirPath();
-     qDebug()<<QStringLiteral("当前路径:")+appPath;
-     QFile check;
-     check.setFileName(appPath+"/bin/qmake.exe");
-     if(!check.open(QIODevice::ReadOnly)){
-         std::cout<<"\n\n<<<<<<<<请将本程序放入Qt安装目录的根目录>>>>>>>>\n\n回车结束"<<std::endl;
-         exit(0);
-     }
-     check.close();
-     check.setFileName(appPath+"/bin/qt.conf");
-     check.open(QIODevice::ReadWrite|QIODevice::Text);
-     check.resize(0);
-     check.write("[Paths]\nPrefix=..");
-     check.flush();
-     check.close();
-     QDir dir;
-     QRegExp PRL("\\w:\\\\.*\\\\lib");
-     PRL.setMinimal(true);
-     QStringList filters;
-     filters <<"*.prl";
-     dir.setPath(appPath);
-     dir.setNameFilters(filters);
-     QDirIterator iter(dir,QDirIterator::Subdirectories);
-     appPath.replace("/","\\\\");
-     appPath.append("\\\\lib");
-     while (iter.hasNext()){
-         qDebug()<<"start";
-            iter.next();
-            QFileInfo info=iter.fileInfo();
-            if (info.isFile()){
-                QString filename = info.absoluteFilePath();
-                QFile *file = new QFile(filename);
-                file->open(QIODevice::ReadWrite|QIODevice::Text);
-                QString read_data = file->readAll();
-                read_data.replace(PRL,appPath);
-                file->resize(0);
-                char *ch;
-                ch = read_data.toLatin1().data();
-                file->write(ch);
-                file->flush();
-                file->close();
-            }
-     }
-     qDebug()<<"SUCCESSFULL!";
-     return a.exec();
- }
 file_all.7z (759 K) 下载次数:14
 file_all.7z (759 K) 下载次数:14