草庐IT

boost-unit-test-framework

全部标签

c++ boost asio 异步函数不能在 dll 中工作

我有这个基于教程的简单的boostasio代码,它在从exe中调用时工作正常,但在使用LoadLibrary从dll中运行时崩溃。它在提升代码而不是我的代码中崩溃。90%的时间它会在其线程互斥函数内部崩溃。与exe相比,在dll中执行代码时是否有任何限制?这是我的代码:Connection::Connection(boost::asio::io_service&ioservice):m_Socket(ioservice),m_Resolver(ioservice){}voidConnection::ConnectTo(){boost::asio::ip::tcp::resolver::

windows - 使用 boost::filesystem::path 作为 std::map 中的键

所以std::map想要对键类型进行排序,但我遇到了问题:"a/b""a/b"如何规范化路径以创建排序?这可能吗?我尝试在自定义比较运算符中使用path::generic_string(),但没有成功。fs::equivalent()也无济于事,因为实现平等对于std::map来说还不够,它需要一个排序。这也是为什么这个问题不是HowdoI"normalize"apathnameusingboost::filesystem?的重复问题的原因。.上下文:仅限Windows,Boost1.49,文件系统3。 最佳答案 要使路径具有可比性

c++ - 用于构建 boost : "don' t know how to make <e>stage"的“阶段”参数

我正在尝试在Windows7(版本6.1.7601)上安装boostv.1.54。安装了带mingw、gcc和g++编译器的cygwin。我需要使用“stage”参数来构建boost;但是它会产生以下错误:C:\boost\tools\build\v2>b2--prefix="C:\boost_build"toolset=gcc--buildtype=completegccstagenotice:couldnotfindmaintargetstagenotice:assumingitisanameoffiletocreate.don'tknowhowtomakestage...foun

.net - 为什么我们需要 SDK 和 .NET Framework?

我们必须安装WindowsSDK以及.NETFramework。有了框架为什么还需要SDK?编辑:这不仅仅是.net开发的情况。另外,如果你想开发Silverlight应用程序,你必须安装额外的sdk。为什么? 最佳答案 基本上.NETFramework包括基本开发所需的大部分工具-编译器、项目的msbuild引擎。然而,一些特定的任务——组装链接、COM和Web服务的代码生成、CIL分析等——需要额外的工具集,这些工具包含在WindowsSDK中。恕我直言,.NETFramework发行版已经很大了,如果它因为这些工具而增长得更多

c++ - boost::program_options - 它是否对命令行选项进行精确的字符串匹配?

boost::program_options的options_description匹配完成的方式似乎有问题。intmain(intargc,char*argv[]){boost::program_options::options_descriptiondesc("CmdLineutility");desc.add_options()("hel","helmessage")("help","producehelpmessage")("helps","helpsmessage");boost::program_options::variables_mapvm;boost::program

c# - 我应该如何在我的 C# 程序中使用 .NET Framework 3.5 检测正确的 Windows 8.1 操作系统版本?

我的以.NETFramework3.5为目标的C#程序无法检测到Windows8.1操作系统的正确版本:当6.3.9600是正确值时返回6.2.9200。Console.WriteLine(System.Environment.OSVersion.Version);//printsout6.2.9200我找到了这个帖子WhatistheOSversionforWindows8.1?其中提到了一个当前已损坏的链接。程序应该如何获取正确的值? 最佳答案 添加自定义应用程序list(右键单击可执行项目->添加->新项目...->查找应用程

.net - 从 Windows 通过 Entity Framework 连接到 Informix 的问题

我一直在尝试使用EntityFramework从.Net应用程序连接到Informix数据库,但在每一步都遇到了很多问题。尝试使用testconn40命令测试与数据库的连接,我得到以下信息:SQL1159InitializationerrorwithDB.NETDataProvider,reasoncode7尝试从我的.Net应用程序连接时出现以下异常:Couldnotloadfileorassembly'IBM.Data.DB2,Version=9.7.4.4,Culture=neutral,PublicKeyToken=7c307b91aa13d208'oroneofitsdepe

asp.net - Microsoft .NET Framework 4.6.2 开发包 Windows 10 Build 1607

Microsoft.NETFramework4.6.2DeveloperPack的下载站点(https://www.microsoft.com/en-us/download/details.aspx?id=53321)指出它适用于以下受支持的操作系统:Windows7服务包1,Windows8.1,Windows服务器2008R2SP1,Windows服务器2012,WindowsServer2012R2请注意,Windows10未列出。问题是Windows10不附带它。我唯一的结论是微软的下载站点是错误的!因为您将如何构建针对新框架的应用程序?有没有其他人注意到这一点?

c++ - 将 Windows 上的 32 位和 64 位 Boost 构建到同一文件夹中

我正在寻找config.jam的简单设置,它将使用MSVC在Windows上为x86和x64构建Boost(1.60或更高版本)。理想情况下使用对b2的单个调用——我知道它应该支持从单个调用生成多个输出。对x86和x64有两个单独的调用是可以的,但不是首选。我想要的另一件事是将两组库输出到相同文件夹中。显然,它们需要有不同的名称,所以我希望将-x64放在x64二进制文件名称中的某个位置。而且它仍然需要自动链接,所以我不能手动重命名它们,它必须是构建系统支持的东西。这部分是必不可少的。我已经readb2提供了一个--buildid参数并且自动链接支持BOOST_LIB_BUILDID定义

c++ - Boost::process 在 Windows 上隐藏控制台

最近发布了boost1.64,包括boost::process。这为启动进程提供了一个简单的界面。之前我使用了独立版本的boost::process库(参见here)。这很好用。我想换到新版本,这样我就可以放弃独立的依赖。API有点不同,但一切正常,除了onthing。在旧版本中,我能够传递特定于Windows的上下文对象,这允许我隐藏进程打开的任何控制台窗口。boost::process::win32_contextctx;ctx.environment=boost::process::self::get_environment();STARTUPINFOAstup;ZeroMemo