【问题标题】:Qt create Link between foldersQt 创建文件夹之间的链接
【发布时间】:2014-01-09 03:18:56
【问题描述】:
【问题讨论】:
标签:
c++
qt
qprocess
qtcore
qfile
【解决方案1】:
有没有可能在 Qt 中创建这样的链接?
是的,但仅限于 Unix。
不幸的是,Windows 上的 QFile 不支持此功能,甚至 QDir 也不支持。在我看来,这将是一个有用的功能,可以在Qt Bug tracker 上提交报告。
解决方法是这样写:
#ifdef Q_OS_UNIX
QFile::link(sourceDir.absolutePath(), destDir.absolutePath());
#elif Q_OS_WIN
QProcess process;
process.start("mklink /D");
// Wait for it to start
if(!process.waitForStarted())
return 0;
bool retval = false;
QByteArray buffer;
while ((retval = process.waitForFinished()));
buffer.append(process.readAll());
if (!retval) {
qDebug() << "Process error:" << process.errorString();
qDebug() << "Output:" << buffer;
return 1;
}
#endif