草庐IT

linux - 在 Linux 上查找 Win exe 所需的 DLL(使用 mingw 交叉编译)?

我在Linux上使用MinGW交叉编译到Windows。让这项工作变得轻而易举。将它与所需的DLL打包起来并不那么简单。目前的解决方案是在Windows上运行可执行文件并复制DLL直到它真正运行。是否有适用于Linux的工具可以列出我的Windows.exe所需的DLL?(类似于ldd和DependencyWalker的组合。) 最佳答案 截至2015年底,没有工具链实用程序支持列出Windows二进制文件的动态依赖项(例如ldd或otool)。从我的测试中,通常可以看到完整的依赖列表,如下所示:stringsMY.EXE|grep

c++ - 如何在 MinGW 中启用实验性 C++11 并发功能?

尝试编译以下代码时#include#includevoidfoo(){std::cout我收到一个错误:C:\Test>g++-g-Wall-lpthread-std=c++0xmain.cppmain.cpp:Infunction'intmain()':main.cpp:12:2:error:'thread'isnotamemberof'std'main.cpp:12:14:error:expected';'before't'main.cpp:13:2:error:'t'hasnotbeendeclared如何使用C++11实验性并发特性?我有MinGWGCC4.5.1(TDM)编辑

javascript - Windows 上的 V8 JavaScript 引擎 (MinGW)

buildinstructionsofV8JavaScriptEngine仅提及VisualStudio2005和2008。有人成功使用MinGW了吗?在WindowsXP/Vista上? 最佳答案 你只需要稍微改变一下Scons。查看C:\YourPythonFolder\Lib\site-packages\scons-YourSconsVersion\SCons\Script__init__.py并转到第560行。将链接器更改为gnulink,将c编译器更改为mingw,并将c++编译器更改为g++。最终它应该是这样的:link

windows - 为什么 MinGW/MSys 会更改二进制路径?

我正在使用Mingw构建一个C/C++项目。这个项目的makefile超出了我的理解范围,并且依赖于自定义且相当复杂的工具链来编译它。在Windows上使用GNU工具非常方便,尤其是在Windows的cmdshell中,但是在调用这些工具(特别是make)时,MinGW似乎改变了我的PATH。Cmd正常执行:echo%PATH%>...c:\Apps\msys\bin...(fromcmd)但是msys将此地址更改为:echo$PATH>.../usr/bin...在msys中,即使我从makefile打印PATH。结果,make提示说它找不到诸如make、uname、echo之类的命

c++ - 从 MinGW .a 转换为 VC++ .lib

我有一个旧库(用C++编写),我只能在Windows上的MinGW+MSYS32上构建它。由此我可以生成一个从GNUlibtool生成的.a静态库文件。我的主要开发是在VisualStudio2008中完成的。如果我尝试使用MinGW生成的库并将其链接到VisualStudio中,它会提示缺少外部组件。这很可能是由于已完成的C++符号重整,并且它与.a文件中的内容不匹配。有什么已知的方法可以将静态.a文件转换为VC++库格式吗? 最佳答案 如果符号被不同地破坏,编译器正在使用不同的ABI,你将无法“转换”或任何编译的库:名称以不同方

c++ - 'mutex' 不是 MinGW 5.3.0 中 'std' 的成员

我正在使用MinGW5.3.0和Crypto++5.6.5:C:\MinGW>g++-std=c++11-s-D_WIN32_WINNT=0x0501LOG.cpp-U__STRICT_ANSI__Decclass.cpp\-IC:\\MinGW\\-IC:\\MinGW\\boost-LC:\\MinGW-lssl-lcrypto-lcryptopp-lgdi32-lPCRYPT\-lz-ltiny-lwsock32-lws2_32-lShlwapi编译结果出现如下错误。c:\mingw\cryptopp565\include\cryptopp\misc.h:287:14:error

c++ - std::any 跨越 mingw 中的共享库边界

我在跨共享库边界使用libstdc++的std::any实现和mingw时偶然发现了一个问题。它会产生一个std::bad_any_cast显然不应该(我相信)。我使用mingw-w64、gcc-7并使用-std=c++1z编译代码。简化代码:main.cpp:#include#include//prototypefromlib.cppvoiddo_stuff_with_any(conststd::any&obj);intmain(){do_stuff_with_any(std::string{"HelloWorld"});}lib.cpp:将被编译成共享库并与main.cpp中的可执

c++ - _O_WTEXT、_O_U16TEXT、_O_U8TEXT - 这些模式在 mingw 编译器中是否可行,是否有任何解决方法?

#include#include#includeintmain(void){_setmode(_fileno(stdout),_O_U16TEXT);wprintf(L"\x043a\x043e\x0448\x043a\x0430\x65e5\x672c\x56fd\n");return0;}编译时返回错误:_O_U16TEXT未在此范围内声明这是这个编译器的障碍吗? 最佳答案 好吧,有一个简单的解决方法:只使用这些常量的值而不是它们的名称。例如,_O_U16TEXT为0x00020000,_O_U8TEXT为0x00040000。

c++ - 在 MinGW 中使用 __argc 和 __argv

我想知道,在MinGW(我已经包含了windows.h)中有没有什么好的方法来使用内置的__argc和__argv(就像在VisualC++中一样),或者我是否必须做一些更复杂的事情来访问这些参数。我非常希望让这段代码在MinGW中工作(但我们并不总能得到我们想要的):#includeexternintmain(intargc,char*argv[]);intWINAPIWinMain(HINSTANCE,HINSTANCE,LPSTR,INT){returnmain(__argc,__argv);} 最佳答案 这些不是“内置”,它

c++ - 带 Eclipse CDT + MinGW + GLEW + GLFW 的 OpenGL : Undefined References

编辑:与此同时,我已经弄明白了这一点,并在下面写了一个详细的答案。我刚刚尝试在Win7上从MSVC10的Express版本切换到EclipseCDT,在配置时我遇到了以下简单OpenGL代码的问题(在VisualStudio中运行良好):#defineGLEW_STATIC#include#includeintmain(){GLFWwindow*w;if(!glfwInit())return-1;w=glfwCreateWindow(640,480,"HelloWorld",NULL,NULL);if(!w){glfwTerminate();return-1;}glfwMakeCont