关于qtquickcompiler,JIT qml缓存以及qt 5.8(分别为5.9)的开源版本中可用的(以及不可用的),我有点困惑.
基本上,我想保护我的.qml和.js文件在我的发布版本中不可读.我开始了一个新的QtQuick项目示例而没有编辑任何代码.我按照这些说明在.pro文件中添加了CONFIG + = qtquickcompiler,但它没有任何效果.
我的.qml文件内置在.exe(在Windows上),但如果查看可执行文件,例如使用notepad ++,我仍然可以看到.qml文件的源代码.
另一方面,如果我不将QRC用于我的.qml文件,则会在运行时为每个.qml创建.qmlc文件.这些文件不是(容易?)可读.但我没有找到一种方法只使用.qmlc文件,而不在我的版本中运送.qml文件(我不认为它是这样的).
回答我的问题:有没有办法用qt的开源版本保护我的.qml和.js文件?qtquickcompiler和新的JIT .qmlc有什么区别?
在 Windows 10 下运行,使用两个不同的系统进行测试:
当我运行时,QNetworkConfigurationManager::allConfigurations()我没有得到任何 WLAN 配置,即使我已主动连接到Wifi网络。
标题:
public:
NetworkManager(QObject* parent = 0);
private slots:
void onNetworkConfigUpdate();
private:
QNetworkConfiguration cfg;
QList<QNetworkConfiguration> netcfgList;
QNetworkConfigurationManager ncm;
Run Code Online (Sandbox Code Playgroud)
.cpp
NetworkManager::NetworkManager(QObject* parent) : QObject(parent) {
ncm.updateConfigurations();
connect(&ncm, SIGNAL(updateCompleted()), this, SLOT(onNetworkConfigUpdate()));
}
void NetworkManager::onNetworkConfigUpdate() {
netcfgList = ncm.allConfigurations();
for (auto& x : netcfgList) {
if (x.bearerType() == QNetworkConfiguration::BearerWLAN) {
qDebug() << "Wifi found: " << x.name();
} else {
qDebug() << "Something else: " << x.bearerType() << " - name: " << …Run Code Online (Sandbox Code Playgroud)