本文整理汇总了C++中utils::Environment::constBegin方法的典型用法代码示例。如果您正苦于以下问题:C++ Environment::constBegin方法的具体用法?C++ Environment::constBegin怎么用?C++ Environment::constBegin使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类utils::Environment
的用法示例。
在下文中一共展示了Environment::constBegin方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: fi
QList<ProjectExplorer::ToolChain *> RvctToolChainFactory::autoDetect()
{
Utils::Environment env = Utils::Environment::systemEnvironment();
QMap<QString, QList<Utils::EnvironmentItem> > rvcts;
QList<Utils::EnvironmentItem> globalItems;
// Find all RVCT..x variables
for (Utils::Environment::const_iterator i = env.constBegin(); i != env.constEnd(); ++i) {
if (i.key() == QLatin1String(RVCT_LICENSE_KEY))
globalItems.append(Utils::EnvironmentItem(i.key(), i.value()));
if (!i.key().startsWith(QLatin1String("RVCT")))
continue;
const QString key = i.key().left(6);
QList<Utils::EnvironmentItem> values = rvcts.value(key);
values.append(Utils::EnvironmentItem(i.key(), i.value()));
rvcts.insert(key, values);
}
// Set up tool chains for each RVCT.. set
QList<ProjectExplorer::ToolChain *> result;
for (QMap<QString, QList<Utils::EnvironmentItem> >::const_iterator i = rvcts.constBegin();
i != rvcts.constEnd(); ++i) {
QList<Utils::EnvironmentItem> changes = i.value();
changes.append(globalItems);
Utils::FileName binary = Utils::FileName::fromUserInput(valueOf(changes, QLatin1String("BIN")));
if (binary.isEmpty())
continue;
binary.appendPath(QLatin1String(RVCT_BINARY));
QFileInfo fi(binary.toFileInfo());
if (!fi.exists() || !fi.isExecutable())
continue;
RvctToolChain::RvctVersion v = RvctToolChain::version(binary);
if (v.majorVersion == 0 && v.minorVersion == 0 && v.build == 0)
continue; // Failed to start.
//: %1 arm version, %2 major version, %3 minor version, %4 build number
const QString name = tr("RVCT (%1 %2.%3 Build %4)");
RvctToolChain *tc = new RvctToolChain(true);
tc->setCompilerCommand(binary);
tc->setEnvironmentChanges(changes);
tc->setDisplayName(name.arg(armVersionString(tc->armVersion()))
.arg(v.majorVersion).arg(v.minorVersion).arg(v.build));
tc->setVersion(v);
tc->setDebuggerCommand(ProjectExplorer::ToolChainManager::instance()->defaultDebugger(tc->targetAbi()));
result.append(tc);
tc = new RvctToolChain(true);
tc->setCompilerCommand(binary);
tc->setEnvironmentChanges(changes);
tc->setArmVersion(RvctToolChain::ARMv6);
tc->setDisplayName(name.arg(armVersionString(tc->armVersion()))
.arg(v.majorVersion).arg(v.minorVersion).arg(v.build));
tc->setVersion(v);
tc->setDebuggerCommand(ProjectExplorer::ToolChainManager::instance()->defaultDebugger(tc->targetAbi()));
result.append(tc);
}
return result;
}