草庐IT

non-open

全部标签

c++ - 为 OpenAL 加载 .WAV 文件

我正在尝试加载要用OpenAL播放的.WAV文件。我正在按照我在互联网上找到的示例进行操作,但它的行为很奇怪。这是代码:structRIFF_Header{charchunkID[4];longchunkSize;//sizenotincludingchunkSizeorchunkIDcharformat[4];};/**StructtoholdfmtsubchunkdataforWAVEfiles.*/structWAVE_Format{charsubChunkID[4];longsubChunkSize;shortaudioFormat;shortnumChannels;longs

c++ - 为什么 VS 和 gcc 在这里调用不同的转换运算符(const vs non-const)?

这段代码当然很蠢,但我写它只是为了说明问题。在这里:#includeusingnamespacestd;structfoo{inta=42;templateoperatorT*(){cout(&a);}templateoperatorconstT*()const{cout(&a);}templateTget(){coutoperatorT();}};intmain(){foomyFoo;cout()使用VisualStudio2019(ISOC++17,/Ox)编译时的输出是:Tget()operatorconstT*()const42gcc8.3(-std=c++17,-O3)的输出

c++ - Qt错误: cannot open output file debug

今天调试程序,突然断电,电脑异常关机。现在当我编译那个程序时,它给了我两个错误。:-1:error:cannotopenoutputfiledebug\Myprogram.exe:Invalidargument:-1:error:collect2:ldreturned1exitstatus我清理了程序,重新构建了它。运行qmake。关闭编译器并通过首先运行qmake重新启动编译程序,然后调试但毫无值(value)。该程序未被编译。我是初学者,对这些问题了解不多,所以请承担这个问题。:).我该如何解决。 最佳答案 如果您正在使用影子构

C++ ifstream,ofstream : What's the difference between raw read()/write() calls and opening file in binary mode?

这个问题涉及ifstream和ofstream在读取和写入数据到文件时的行为。通过阅读stackoverflow.com,我设法发现operator(流插入运算符)在输出之前将double等对象转换为文本表示,并调用read()和write()分别读取和写入存储在内存(二进制格式)中的原始数据。编辑:这很明显,这里没有什么意外。我还发现以二进​​制模式打开文件会阻止根据不同操作系统的要求自动转换换行符。所以我的问题是:这个自动翻译,例如;来自\n至\r\n调用函数时发生read()和write()?或者此行为仅特定于operator.(还有operator>>。)请注意,这里有一个类似

c++ - 在 ADO 中使用最大数据库大小选项会导致 Open 命令抛出

我有一个SQLCompact数据库,我正在尝试使用ADO和C++访问它。但是,由于数据库的大小(300MB,超过默认的256MB限制),我必须在连接字符串中指定MaxDatabaseSize。然而,这样做会导致.Open(...)函数抛出。我使用的代码:HRESULThr=conn.CreateInstance(__uuidof(Connection),NULL);conn->Open(L"Provider=Microsoft.SQLSERVER.CE.OLEDB.4.0;DataSource=test.sdf;MaxDatabaseSize=512",L"",L"",adConnec

c++ - 链接 : fatal error LNK1104: cannot open file 'libcpmt.lib' after manually configuring the LIB environmental variable

我正在尝试从命令行使用clVisualStudio2010编译器。由于某些原因,我安装的VisualStudio2010无法正确配置INCLUDE和LIB目录,请参阅YetanotherpostonfatalerrorC1034:noincludepathset.如果我跑`vcvars32.bat`我收到以下错误消息:ERROR:CannotdeterminethelocationoftheVSCommonToolsfolder.然后我尝试手动设置这些环境变量。所以我创建了一个简单的bat文件,如下所示:SetINCLUDE="C:\ProgramFiles(x86)\Microsof

c++ - 添加 Boost 使调试构建依赖于 "non-D"MSVC 运行时 DLL

我有一个烦人的问题,我可能能够以某种方式规避它,但另一方面,我更愿意了解它并了解到底发生了什么,因为看起来这些东西真的会留下来。故事是这样的:我有一个简单的OpenGL应用程序,它运行良好:在编译、链接或运行它时从来都不是主要问题。现在我决定尝试将一些更密集的计算移到工作线程中,以便可能使GUI响应更快——当然是使用Boost.Thread。简而言之,如果我在.cpp文件的开头添加以下片段:#includevoiddummyThreadFun(){while(1);}boost::threadp(dummyThreadFun);,然后我在尝试启动调试版本时开始收到“此应用程序无法启动,

c++ - 尝试包含 '#include <boost/regex.hpp>' 时,我得到 : 1>LINK : fatal error LNK1104: cannot open file 'libboost_regex-vc100-mt-gd-1_39.lib'

不知道为什么会这样,我从here下载了库虽然我有一个名为“libboost_regex-vc90-mt-gd-1_39.lib”的库,但我没有一个名为“libboost_regex-vc100-mt-gd-1_39.lib”的库,将vc90重命名为vc100就可以了但我不确定这是否是理想的解决方案?#include"stdafx.h"#include#include#include#defineBOOST_ALL_NO_LIBint_tmain(intargc,_TCHAR*argv[]){boost::arraya;boost::smatchs;getchar();return0;}

C++, Linux : error: conversion from ‘boost::unique_future<void>’ to non-scalar type ‘boost::shared_future<void>’ requested. 如何绕过它?

我尝试使用boostthreadfutures.所以如图here我们可以得到sharedfuture来自packagedtask.所以我在linux上尝试这样的功能:templatevoidpool_item(boost::shared_ptr>pt){boost::shared_futurefi=pt->get_future();//error//...但调用它时出错:../../src/cf-util/thread_pool.h:Inmemberfunction‘voidthread_pool::pool_item(boost::shared_ptr>)[withtask_retu

C++ 错误 : Conversion to Non-Scalar Type

这个问题不太可能帮助任何future的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况有关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visitthehelpcenter.关闭10年前。我似乎在下面的代码段中遇到了一个特殊的错误(忽略多余的头文件和空白的主函数,我只是想将这个问题隔离到一个可编译的.cpp文件中以便在这里发布)。它说从“[我定义的某些类型]”到非标量类型“[我定义的某些类型]”的错误转换。这个特定示例中的代码应该将一组字符串列表作为一个输入参数(命名输入),并将对字符串列表的引用作为另一个(命名输出)并计算最长的公共(p