我正在尝试将Qt5.9项目从Mac移植到Windows 10.我能够在ubuntu安装中轻松编译项目.在尝试为Windows构建它时,我遇到了查找zlib包含头文件的问题
#include<zlib.h>
Run Code Online (Sandbox Code Playgroud)
我在Stack上的答案后纠正了
#include<QtZlib/zlib.h>
Run Code Online (Sandbox Code Playgroud)
现在我在LINK阶段遇到问题,它无法打开文件z.lib
问题是我下载了zlib包,构建,源代码,但找不到z.lib.只有不同的命名库.在谷歌中搜索我只能找到具有相同问题的人,z.lib不是zlib安装中包含的库之一.
这是我的项目文件:
TEMPLATE = app
QT += qml quick widgets websockets
CONFIG += c++11
SOURCES += \
main.cpp \
api.cpp \
app.cpp
HEADERS += \
api.hpp \
app.hpp
RESOURCES += qml.qrc
LIBS += -lz
Run Code Online (Sandbox Code Playgroud)
我尝试将所有可能的dll和lib文件放在项目文件夹中.但它们都没有被命名为z.lib.
我有一个正在进行的项目,通过 opencv VideoCapture 访问多个 IP 摄像机,适用于大多数摄像机。
我有一个新的大华 PTZ 摄像机,它使用摘要身份验证,OpenCV 中的 VideoCapture 无法打开它。通过 WireShark,我可以看到相机返回 401 Unaothorized。
我在 OpenCV 文档中没有找到任何有关身份验证问题的内容。
也许我需要使用 OpenCV 以外的其他东西来解决这个问题?
这是最低工作代码(如果您有相机要测试)。
#include <iostream>
#include <imgproc.hpp>
#include <opencv.hpp>
#include <highgui.hpp>
using namespace std;
using namespace cv;
int main(){
while(1){
VideoCapture cap("http://login:password@111.111.111.111/cgi-bin/snapshot.cgi");
if(!cap.isOpened()){
cout << "bug" << endl;
continue;
}
Mat frame;
cap >> frame;
imshow("test", frame);
}
}
Run Code Online (Sandbox Code Playgroud)
这是相机的响应:
double[] lhand = new double[3] { 0, 0, 0 };
List<double[]> LADC = new List<double[]>();
LADC.Add(lhand);
Run Code Online (Sandbox Code Playgroud)
我不明白为什么上面的代码不起作用.我按照StackOverflow中的问题给出了说明但是我有以下错误:
- 无效的标记'('在类,结构或接口成员声明中
- 类,结构或接口成员声明中的标记')'无效
- 'Microsoft.Samples.Kinect.SkeletonBasics.MainWindow.LADC'是'字段',但用作"类型"
- 'Microsoft.Samples.Kinect.SkeletonBasics.MainWindow.lhand'是'字段',但用作"类型"