草庐IT

【开发Log】C++QT连连看

全部标签

c++ - 编译器之间的 qt dll 兼容性

Qt库声明了跨主要版本的二进制兼容性。但是不同编译器之间的兼容性呢?例如,我有一个应用程序和2个使用Qt(动态链接)的dll。但其中一个是用MSVC构建的,另一个是用MinGW构建的。因此它们链接到不同版本的Qt库(相同版本)。问题是:这些dll是否可以使用一个共享的Qtdll协同工作?如果不是,那么考虑到更改编译器不是一个选项,有哪些可行的解决方法?我查看了带有dependencywalker的Qtdll,我发现有几十个导出的函数具有编译器特定的名称重整。所以看起来不可能让它们一起工作。 最佳答案 C++没有标准的ABI。这意味着

c++ - Qt下在widget中嵌入外部应用

我想知道是否可以在Windows操作系统下的QT小部件内运行外部应用程序。例如,如果我要编写一个Qtgui应用程序,用户可以在其中一个对话框中写一些文本,我可以在那里使用文本框或类似的东西。但是,是否可以在该对话框中运行Notepad++或Windows记事本应用程序?我将不胜感激。 最佳答案 在应用程序级别执行您所描述的操作,将整个过程嵌入到另一个窗口中,这并不实际。(这在技术上会很困难,如果你能成功的话,用户体验可能会很糟糕。)幸运的是,这个应用程序组件的问题已经解决了!因此,可以通过稍微不同的机制获得您描述的最终结果。许多应用

c++ - Windows下使用MinGW-w64编译Qt5 hello world.cpp文件报 "undefined reference"错误

当我运行make编译由cmake生成的Makefile以编译Qt5应用程序的helloworld示例时,编译失败并出现以下错误:为什么编译失败?(我正在尝试做的事情的详细信息)我在Windows10下,使用从Qtofficialwebsite下载的Qt5.5二进制文件,mingw-w64gcc和g++随WinBuilds一起提供,以及从officialwebsite下载的cmakev3.6并使用Windowswin64-x64安装程序安装。我正在尝试编译Qt5'sofficialwiki中提供的以下helloworld测试文件:#includeintmain(intargc,char*

ruby-on-rails - Windows 上无权限删除 SQLite3 开发数据库 Rails 5.0

我正在尝试为Windows上的Rails5.0项目重置我的开发数据库,​​但是当我运行时(与rakedb:drop相同)railsdb:drop我收到以下错误:Errno::EACCESPermissiondenied@unlink_internal我已经重新启动了我的电脑,以确保rails无论如何都没有运行 最佳答案 您只需要退出Rails服务器即可。 关于ruby-on-rails-Windows上无权限删除SQLite3开发数据库Rails5.0,我们在StackOverflow上

.net - System.IO.FileNotFoundException 与 Log4Net 发布时

在C#应用程序中,我们配置了Log4Net以尝试记录意外异常。从VisualStudio运行时,日志记录按预期工作,但应用程序在使用ActiveInstaller安装并在客户端上运行时崩溃。Log4Net配置:用法://inApp:Applicationprivatestaticreadonlylog4net.ILoglog=log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);//inMain()log4net.Config.XmlConfigurator

linux - 将 Qt 程序从 Linux 部署到 Windows

我正在Linux上开发一个Qt程序,我也想在Windows上发布它。Windows的编译和静态链接与MXE(安装了qtbase)配合得很好,但我想动态链接我的程序。动态链接有效,程序在Wine下运行,但是当我将EXE和DLL复制到Windows时,程序出现错误:“此应用程序无法启动,因为它无法在中找到或加载Qt平台插件“windows”“”。”在Windows上,windeployqt将应用程序运行所需的所有内容整齐地放在一个文件夹中。有没有办法让这个工具(或类似工具)在Linux上运行? 最佳答案 您缺少可执行文件所需的几个文件。

c++ - 如何将我的 Qt 应用程序主窗口始终放在 Windows 任务栏上方?

我有一个Qt应用程序,它保留在其他窗口之上。主窗口是无框透明的。为了将它放在其他窗口之上,我遵循了以下过程。SetForegroundWindow((HWND)winId());Qt::WindowFlagsflags=this->windowFlags();flags=flags&~Qt::WindowMinimizeButtonHint;this->setWindowFlags(flags|Qt::FramelessWindowHint|Qt::WindowStaysOnTopHint);ui.setupUi(this);此代码片段将我的Qt主窗口置于所有窗口之上以及任务栏之上。问

c++ - QT 5.7 MSVC 2015 静态构建不工作

我在Windows上使用32位和64位QT5.7MSVC2015静态版本时遇到问题。这些是我运行的命令和我得到的输出(也用32位测试):C:\Users\Josh>setPATH=C:\Qt\static\Qt5.7.0MSVC2015_Static_x64\bin;%PATH%C:\Users\Josh>cd"\Users\Josh\MozySync\ReplicatorNew\ReplicatorNew"C:\Users\Josh\MozySync\ReplicatorNew\ReplicatorNew>qmakeReplicatorNew.proCouldnotfindqmake

c++ - Qt中如何实现OpenSSL?

尝试在我的Qt项目中使用OpenSSL,这是我的环境:操作系统:Win732位Qt:QtCreator4.2.1社区Qt套件:Qt_5_8_0_MSVC2015_32bit2Openssl:Win32OpenSSLv1.1.0e,下载形式thissite我正在尝试include然而,在我的代码中,当我添加#include时在我的main.cpp和构建中,QtCreator显示以下错误:D:\QtProjects\dialogs\findfiles\main.cpp:50:error:C1083:'openssl/evp.h':Nosuchfileordirectory我已经按照这个问题

c++ - 以编程方式获取用于在非开发人员 Windows 环境中构建进程或库的 DLL 列表

我什至不确定这是否适用于Windows;我还没有看到一个人要求这么普遍的东西并找到解决方案。这可能是可能的,但可能没有用于处理它的API。我有一个自动化测试模块,我正在为Windows工作,它使用一个模块以通用方式处理检测到的EXE,除非它检测到二进制文件来自特定的测试框架。到目前为止,我只能通过查询帮助和处理响应/字符串解析来做到这一点。如果我触发某人在框架之外编写的长时间测试,该测试接受命令行参数寻求帮助,但实际上并不处理这些命令行参数而只是自动运行,这可能会导致问题。因此,有时我会卡在等待测试完成的时候,而不是进行闪电般的快速查询。这就是我试图通过这个花哨的新模块避免的。:)这个