我开始在 Visual Studio C++ (2013) 中编程,并使用 Qt(5.5.0) 作为用户界面。我正在尝试连接到我的 sql server 数据库 (sql server 2012) 。
根据文档,它应该很简单。这是我的代码:
#include "qt_test1.h"
//#include "ui_qt_test1.h"
#include <qmessagebox.h>
#include <qfiledialog.h>
#include <QtGui>
#include <QtSql\qsql.h>
#include <QtSql\qsqldatabase.h>
#include <QtSql\qsqlerror.h>
#include <qdebug.h>
qt_test1::qt_test1(QWidget *parent)
: QMainWindow(parent)
{
ui.setupUi(this);
}
qt_test1::~qt_test1()
{
}
// when button clicked try to connect to database
void qt_test1::on_btnShowHello_clicked()
{
QSqlDatabase db = QSqlDatabase::addDatabase("mydb");
db.setDatabaseName("C:\\Program Files\\Microsoft SQL Server\\MSSQL11.MSSQLSERVER\\MSSQL\\DATA\\qt_test_db");
bool ok = db.open();
}
Run Code Online (Sandbox Code Playgroud)
好吧,当我尝试调试时,我遇到了这个奇怪的错误。它缺少 dll 的东西,我不知道这是我的代码问题还是 qt 安装错误。
错误:
错误2错误LNK2019:无法解析的外部符号“__declspec(dllimport)公共:__cdecl QSqlDatabase ::〜QSqlDatabase(void)”(__imp_??1QSqlDatabase@@QEAA@XZ)在函数“私有:void __cdecl qt_test1 …
我正在尝试做这样的事情: 使用libvlc smem从视频中获取帧并将其转换为opencv Mat。(C ++)
我不太明白这部分中的代码:
sprintf(smem_options
, "#transcode{vcodec=RV24}:smem{"
"video-prerender-callback=%lld,"
"video-postrender-callback=%lld,"
"video-data=%lld,"
"no-time-sync},"
, (long long int)(intptr_t)(void*)&cbVideoPrerender
, (long long int)(intptr_t)(void*)&cbVideoPostrender //This would normally be useful data, 100 is just test data
, (long long int)200 //Test data
);
Run Code Online (Sandbox Code Playgroud)
它说video-data=%lld。这是什么意思?它从哪里获取数据?
我正在使用文件对话框获取文件。我可以将该文件传递给视频数据吗?