Visual C++ 2008 runtime files are out of data

本文介绍了解决使用SetupFactory打包应用程序时,在Windows 7系统上遇到的兼容性错误问题。通过调整从属文件vcredist_x86.exe的安装脚本,去除对操作系统的特定限制,最终实现了在Win7上的正常安装。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天用 Setup Factory打了一个包, 在win7系统上双击安装该包时,弹出如下错误:

费了好长时间,最后才知道原因:是我将vcredist_x86.exe作为从属文件加入Setup Factory时,Setup Factory对操作系统进行了限定,如下:

上面的界面是按下面的步骤弹出的
1:从“资源->从属文件”弹出如下界面:

2:然后再双击“Visual C++ 2008(32-bit)”弹出的界面中选择“安装”页签。


可以看到“安装”页签界面中的脚本没有对win7支持,故会出现这样的错误框,我想加入对win 7的脚本支持,像如下那样:

可依然还是弹出那个错误框,我估计是tblOSInfo.MajorVersion 等对win7系统的值不对所致,找帮助文档,也没见对win7的大小版本号的数值说明,最简单的办法是将这里的脚本全部删除,不用对操作系统判断,删除后,错误不再出现

### 使用ONNX RuntimeC++ Qt中运行YOLOv7 为了实现这一目标,首先需要安装并配置好ONNX Runtime环境。可以从GitHub仓库下载ONNX Runtime源码或预编译二进制文件[^1]。 #### 安装依赖项 确保已安装必要的开发工具链以及Python(用于转换模型)。对于Windows平台建议使用Visual Studio;Linux则推荐GCC作为编译器。 #### 下载YOLOv7 ONNX模型 获取训练好的YOLOv7权重,并通过官方脚本将其导出为`.onnx`格式。这一步骤通常涉及PyTorch到ONNX的转换过程。 ```bash git clone https://github.com/WongKinYiu/yolov7.git cd yolov7 pip install -r requirements.txt python export.py --weights yolov7.pt --grid --end2end --simplify --topk-all 100 --iou-thres 0.65 --conf-thres 0.35 --img-size 640 --max-wh 640 ``` 上述命令会生成一个名为`yolov7.onnx`的文件,该文件即为目标检测所需的ONNX模型。 #### 集成ONNX Runtime至Qt项目 创建一个新的Qt Widgets应用程序工程,在.pro文件里添加如下内容来链接ONNX Runtime库: ```qmake QT += core gui widgets greaterThan(QT_MAJOR_VERSION, 4): QT += xml network CONFIG += c++11 # Add additional import path(s) for qml files of dependencies QML_IMPORT_PATH = SOURCES += \ main.cpp \ widget.cpp HEADERS += \ widget.h RESOURCES += resources.qrc LIBS += -L/path/to/onnxruntime/lib -lonnxruntime INCLUDEPATH += /path/to/onnxruntime/include DEPENDPATH += /path/to/onnxruntime/include ``` 请注意替换路径变量以匹配实际安装位置。 #### 编写代码加载并推理YOLOv7模型 下面是一个简单的例子展示如何利用ONNX Runtime API执行前向传播操作: ```cpp #include <iostream> #include <vector> #include <memory> // Include ONNX Runtime headers. extern "C" { #include "onnxruntime_c_api.h" } using namespace std; int main() { OrtEnv* env; OrtSessionOptions* session_options; OrtStatus* status = nullptr; // Initialize environment and set up options. ort::Unique_OrtApi api(OrtGetApiBase()->GetApi(ORT_API_VERSION)); ORTHelper helper(api.get()); auto result_env = helper.CreateEnv(ORT_LOGGING_LEVEL_WARNING, "test"); if (!result_env.IsOK()) { cerr << "Failed to create Env." << endl; return EXIT_FAILURE; } env = result_env.MoveResult(); unique_ptr<OrtSession> session(helper.CreateSession(env, L"./models/yolov7.onnx", &session_options)); vector<int64_t> input_node_dims{1, 3, 640, 640}; // NCHW format size_t num_input_nodes = 1; // Only one image as input here. float input_tensor_values[] = { /* Your normalized pixel values go here */ }; OrtValue* input_tensors[num_input_nodes]; helper.FillTensor<float>(input_tensors[0], input_tensor_values, sizeof(input_tensor_values)/sizeof(float), input_node_dims.data(), input_node_dims.size()); // Run inference... } ``` 此段程序展示了基本框架结构,具体细节如输入张量准备、输出解析等功能需根据实际情况进一步完善。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值