草庐IT

windows - Windows 中的 Waf PDB 输出(MSVC 工具集)?

我曾经使用GDB+Clang,现在我意识到我有多少认为堆栈跟踪是理所当然的。如何让Waf在构建的可执行文件的目录中生成PDB输出?我的配置将/Zi和/debug标志传递给编译器/链接器,但我看到的唯一pdb文件(对于位于我的构建目录的子目录中的多个二进制输出中的任何一个)是一个vc110.pdb文件构建目录的根目录(不,我的构建目录的根目录中没有任何类型的可执行二进制文件)。可根据要求提供额外信息-即使在谷歌搜索和其他信息查找任务之后,我只是不确定此刻放下什么对我有用(例如,我可能需要深入了解Waf代码知道到底要记下什么......)。 最佳答案

windows - MSVC2008 c/c++控制台应用程序产生了新的控制台

应用程序在哪里决定/导致产生新的控制台窗口(动态链接时)?默认运行时dll中是否有一些我可能忽略的定义或杂注或标准行为的某些更改?我不太确定这些是正确的问题,请阅读以下背景并接受我的意见。我为每一个朝着正确方向前进的人感到高兴。背景:控制台应用程序(/SUBSYSTEM:CONSOLE)在启动时会生成一个新的子控制台。使用相同来源和配置设置的其他应用程序则没有。唯一的区别(貌似)是所提供的3rd-party-dll。由于有了新的子控制台,我无法再重定向输出(app.exe>dump.txt)。重定向对于此应用程序至关重要。我正在MSVisualStudio2008上构建该c/c++控制

python - 如何使用 msvc 10.0 为 win8.1 64 位构建 boost python 3.4 共享库

我正在尝试为python3.464库构建boostpython因为我需要它们来构建http://dlib.net/python绑定(bind)我的设置如下:安装MSVC12.0python3.464位已安装我下载了最新的boost1.57我能够编译静态库,但是当我尝试链接动态库时程序失败。我的project-config.jam看起来像这样importoption;usingmsvc:10.0;usingpython:3.4:C:\\Python34;option.setkeep-going:false;为了甚至为64位编译静态库,我的bjam看起来像这样.\bjam.exe--adr

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-如何编译要

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

c++ - MSVC (std::codecvt) 上的双字节编码:无法识别前导字节

我想使用std::codecvt::in()将以双字节代码页编码的字符串转换为UTF-16字符串关于Microsoft标准库实现(MSVC11)。例如,考虑以下程序:#include#includeintmain(){//KATAKANALETTERA(U+30A2)inShift-JIS(Codepage932)//http://msdn.microsoft.com/en-us/goglobal/cc305152charconstcs[]="\x83\x41";std::localeloc=std::locale("Japanese");//Output:"Japanese_Japa

c - MSVC 生成的符号表中 __real、__imp、__xmm 符号的含义

我是一名UNIX开发人员,负责帮助维护一些Windows软件,我正在查看.DEF生成器同时修复错误。它不包括__xmm,__real和__imp-来自导出的前缀符号。我一直在努力弄清楚这些符号到底是什么。很明显,它们不需要出现在.DEF中。文件(如果它们需要在DLL接口(interface)上导出,编译器将__declspec(dllexport)对其自身进行注释)但是......它们是什么?看起来排除__imp的目的前缀是排除functioncallthunks.正确吗?搜索MSDN未提供有关__xmm的信息或__real(顺便说一句,使用social.msdn.microsoft.

windows - 用私有(private)实现替换 MSVC CRT 函数

我有一个嵌入式IoT项目,我喜欢首先使用VisualStudio等PC工具进行部分开发。我的嵌入式项目只有一个文件系统的闪存,我想将fopenfread等重定向到我自己在Windows上的私有(private)实现。但我遇到的是无法让我的私有(private)CRT库优先于内置CRT(例如,由/MD编译器开关驱动的内置行为)。我有一个简单的三项目解决方案。项目1是一个测试可执行文件。它有一条主线:intmain(){test();}项目2和3是静态库。项目2有:#include#includevoidtest(){printf("%s\n",strchr("x",'x'));}项目3有

c++ - MSVC 函数名修饰

这个问题在这里已经有了答案:Isthereturntypeofafunctionpartofthemangledname?(2个答案)关闭10个月前。在Linux中,GCC编译器不会将返回类型添加到函数的错位名称中,在主要版本更改的情况下不会导致ABI不兼容错误。因此,我通常根据主要版本在内联命名空间中使用abi_tag来强制执行这种行为。MSVC2017如何在Windows中处理函数名称?我需要在内联命名空间中添加类似于abi_tag的内容来复制此行为吗?

windows - 使用 MSVC 2010 构建 OpenSSL 1.0.1c 时出错

我已经成功配置了OpenSSL用于构建,但是当我运行nmake时,我得到了这个:c:\Development\Qt\5\OpenSSL>nmake-fms\ntdll.maktestMicrosoft(R)ProgramMaintenanceUtilityVersion10.00.30319.01Copyright(C)MicrosoftCorporation.Allrightsreserved.cl/Fotmp32dll\md4test.obj-Iinc32-Itmp32dll/MD/Ox/O2/Ob2-DOPENSSL_THREADS-DDSO_WIN32-W3-Gs0-GF-Gy