草庐IT

MSVC_and_MinGW_DLLs

全部标签

c++ - 使用 SDL2 和 MinGW 诊断 DLL 问题

我正在尝试让我编写并运行一个简单的SDL2应用程序,但我的计算机上的SDL2似乎有问题。我正在运行64位Windows8.1Pro,安装了所有MSVisualStudioC++2013库(x64和x86)并且Windows已完全更新。SDL2在我使用类似设置的旧计算机上运行良好(我最近重新安装了Windows),所以我无法解释这个错误。TL;DR:当从C:\Windows\System32加载DLL时,我编写的简单测试代码神秘地失败了。如何诊断Windows上的DLL加载问题?测试代码#include"SDL.h"intmain(intargc,char*argv[]){SDL_Ini

windows - 如何编译要从 DMD 链接的 msvc 静态库?

我一直在花费大量时间尝试为开源C库构建D绑定(bind)。我正在使用msvc将C构建为静态.lib,但DMD无法识别.lib文件,这似乎是与COFF/OMF不兼容相关的问题。编译与OMF兼容的C库以从D链接的最简单方法是什么? 最佳答案 将头文件移植到具有匹配函数签名和extern(C)的.di文件中。然后将其用作import目标。您可以使用htodtool帮助解决这个问题。参见http://dlang.org/spec/interfaceToC.html 关于windows-如何编译要

c - "cannot find -lcrypto -lssl"在带有 MinGW 的 Windows 上使用 OpenSSL

尝试openssl的c代码,在命令提示符下编译时出现此错误。c:\openssl>gcc-lssl-lcrypto-otesttest.c-IC:\openssl\include\c:/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/bin/ld.exe:cannotfind-lsslc:/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/bin/ld.exe:cannotfind-lcryptocollect2.exe:error:ldreturned1exits

c++ - Inno 安装程序 : Put DLLs in a subdirectory

我想将依赖项(几个DLL文件)复制到一个单独的子目录中。安装我的程序后,目录结构如下所示:动态链接库/一个.dllb.dllsample/pg.exe我脚本的相关部分如下:[Dirs]Name:"{app}\sample"Name:"{app}\dll"[Files]Source:"pg.exe";DestDir:"{app}";Flags:ignoreversion;iconfile;Source:"pg.ico";DestDir:"{app}";sampleiniandgeoemtryfileSource:"geometry.xml";DestDir:"{app}\sample"S

windows - 为 Qt 5.5.1 (msvc2010) 编译 ibase 驱动

我需要Qt的ibase驱动程序才能使用Firebird数据库。我已经安装:Windows7SP132位QT5.5.1-0(msvc201032位)源组件/要点(5.5.1-0)Firebird2.1.532位我尝试将其设为anofficialsitedescribed,但替换cd%QTDIR%\qtbase\src\plugins\sqldrivers\ibaseqmake"INCLUDEPATH+=C:/interbase/include""LIBS+=-lfbclient"ibase.pro与它:在c:\windows\system32中制作库fbclient.dllC:\Prog

Windows 批处理 : find command and errorlevel

我正在尝试使用find命令和错误级别来评估命令的结果SetlocalEnableDelayedExpansion...nssmstatusMyService|find"SERVICE_STOPPED"if!errorlevel!equ0(echoMyServiceisnotrunning)因为我知道命令“nssmstatusMyService”返回“SERVICE_STOPPED”,所以我希望find将错误级别设置为0。相反,它被设置为1。为什么? 最佳答案 删除的答案显示了nssm输出的编码(我没有,所以无法验证)。每个字母都用两

c - 如何将 Windows 中的简单程序与 Mingw GCC 链接

我有一个简单的“HelloWorld!”c程序,在我的桌面上名为hello.c:#includeintmain(){printf("Helloworld!\n");return0;}我运行以下命令。我使用以下方法对其进行预处理:cpphello.c>hello.i我编译它:gcc-Shello.i我将其组装为:as-ohello.ohello.s到目前为止一切都很好。但是,我无法链接它。除了其他命令外,我已经尝试过这些:ld-ohello.exehello.old-ohello.exehello.o-lgccld-ohello.exehello.o-nostdlib-lgcc没有任何作

windows - 如何防止从快照恢复虚拟机时出现 "trust relationship between this machine and domain failed"错误?

当您从(足够旧的)快照恢复VM(属于Windows域)时,您将收到此错误:trustrelationshipbetweenthismachineanddomainfailed发生这种情况是因为域Controller定期更新计算机帐户密码(可能还有其他一些事情)。有什么方法可以配置域Controller(或其他任何东西)以防止这种情况发生?我不关心安全风险等——所有这些都在受控环境中。 最佳答案 两种解决方案:您可以尝试@Harry提到的禁用机器密码的策略:引用:Domainmember:Disablemachineaccountpa

windows - docker容器中的mingw没有输出

我显然做错了什么。或者有一个错误。无论如何,在最近的docker17.03.1-ce上,运行各种Windows容器,例如:dockerrun-itmicrosoft/windowsservercore并且看不到mingw和cygwin工具的输出:C:\test>dirVolumeindriveChasnolabel.VolumeSerialNumberis0E7C-C210DirectoryofC:\test06/27/201708:43AM.06/27/201708:43AM..0File(s)0bytes2Dir(s)20,098,813,952bytesfreeC:\test>b

c# - 来自 C# : why do I have to override new/delete? 的 mingw DLL

我正在尝试从Windows10上的C#调用最小的C函数。我使用mingw/g++将C代码编译成.dll事实证明,我必须定义opteratornew[]或使用VisualStudio编译.dll。否则我的C#程序会因以下错误而崩溃:程序“[14740]Test.exe”已退出,代码为-1073741819(0xc0000005)“访问冲突”。我真的很想了解这里究竟发生了什么,以及我如何在不覆盖所有新/删除运算符但仍然使用mingw的情况下解决这个问题。这是重现错误的最小示例,包括解决方法(如果定义了AddNewOperator,operatornew[]将被定义并且生成的.dll将正常工