草庐IT

header_remove

全部标签

c++ - QFile::remove 不删除文件?

在尝试删除我刚用Qt下载的文件时遇到一个奇怪的问题。我的代码:QStringlocation="/path/to/app/Application.app";QFile*rmFile=newQFile(location);rmFile->remove();文件没有被删除。任何想法可能是错误的? 最佳答案 如果它看起来是一个目录,您希望将以下API与Qt5一起使用:boolQDir::removeRecursively()相对于QFile。因此,你会写这样的东西:QStringlocation="/path/to/app/Applica

c++ - 从库中的 std::exception 派生:Does a headers-only solution work for catching exceptions?

在我们的跨平台开源库中,我们派生自std::exception以定义可以在库代码和用户代码中捕获的自定义异常。我看到这实际上是一个推荐的过程,但在VisualStudio2015(或者更确切地说,伴随的新MSVC版本?)中,在实现类(warningC4275)中抛出警告-另请参见此处:Howtodllexportaclassderivedfromstd::runtime_error?当然我们可以忽略这个错误,但这对我来说似乎是错误的。与旧的VisualStudio版本相比,出现警告的原因似乎是std::exception曾经在旧的MSVC版本中导出,但同时不再导出。无论哪种情况,我都觉

c++ - Clang 无法再使用 <functional> header 编译程序

我在运行ArchLinux的系统上使用clang版本4.0.0,它一直运行良好,但最近我无法再编译使用某些STLheader的程序了!详细信息:clang--version的输出:clangversion4.0.0(tags/RELEASE_400/final)Target:x86_64-unknown-linux-gnuThreadmodel:posixInstalledDir:/usr/bingcc--version的输出:gcc(GCC)7.1.120170528示例:我尝试编译以下简单程序:#includeintmain(){return0;}我正在使用以下命令:clang++

解决git报错 “remote: Please remove the file from history and try again.”

使用git提交代码时报错:remote:error:File:90b39f4470e405ed852e517a73473b527ac60eaa362.16MB,exceeds100.00MB.remote:Usecommandbelowtoseethefilename:remote:gitrev-list--objects--all|grep90b39f4470e405ed852e517a73473b527ac60eaaremote:Pleaseremovethefilefromhistoryandtryagain.应该是提交的文件中有超过100MB的。解决方案:1、按照提示执行命令查看超大的

c++ - 抑制特定包含 header 的 g++ 警告 "-Wliteral-suffix"

我正在做一个项目,在这个项目中我使用了新的c++11标准。正因为如此,现在很少有库中的include-header会生成警告-Wliteral-suffix,我会禁止包含它。我找到了一个使用编译指示的简单解决方案,但它对我不起作用HowtosuppressGCCwarningsfromlibraryheaders?这是我当前的代码:#pragmaGCCdiagnosticpush#pragmaGCCdiagnosticignored"-Wliteral-suffix"#include#include#include#pragmaGCCdiagnosticpop库生成的所有当前警告如下所

c++ - 处理 header 中令人痛苦的长命名空间名称

对于需要在头文件中引用的looong符号,有什么可以做的吗?ABDEFGHIJ::ZXCBVB::AWEDADSDEM::GFGBKGDF::Tools::Item?我知道在头文件中你不应该使用using因为它会把包含它的人搞得一团糟。我什至能想到的唯一可以自行清理的有效功能是#define+#undef但这看起来很糟糕。是否有我不知道的解决此问题的新功能?我也对任何受欢迎的提案感兴趣。也许使用和方括号block语法,让我将效果限制在我的标题...? 最佳答案 usingnamespace不是好的做法在头文件中的全局范围内使用指令。

c++ - 如何检测 make 依赖列表中的 header 更改

经过近十年的C#和VC++编码,我回到了linux–g++–make–emacs环境。试图刷新我关于编写make文件的内存我没有遇到太多问题,但我偶然发现了以下问题,我承认我不记得我过去是如何解决它的:假设一个特定的.cpp文件对其他几个头文件有一些依赖性(撇开它易于处理的相应头文件)......检测某些.h已更改的最佳方法是什么?我当然不喜欢将它们放在我的目标依赖列表中的想法,因为这是一个手动且容易出错的过程!简单的答案当然是只要有.h更改就构建干净,但我真的不记得标准方法是什么......。在VC++中,我不必处理这个问题,因为IDE非常擅长处理依赖关系......

c++ - C POSIX 函数的 header

我在哪里或如何找到正确的Cheader以包含在C++程序中以获得在POSIX兼容环境中声明的C函数的声明?我问这个是因为我需要使用open()出于我的目的在我的C++程序中进行系统调用,因此我最初尝试包含有关open()的在线文档中提到的header。(在概要部分),它们是sys/stat.h和fcntl.h.然而,在尝试编译时,编译器提示open()没有宣布。google了一下,发现还有一种可能是unistd.h.我尝试使用该header并编译程序。所以我回到POSIX文档以阅读更多关于unistd.h的信息检查是否open()那里提到过,但我找不到任何相关信息。我做错了什么?为什么

c++ - 在实现中重新包含 header

假设我有一个标题foo.h像这样:#ifndefFOO_H#defineFOO_H#include#include"non_standard_class.h"std::stringfoo(MyClassa);...#endif和实现foo.cpp将是#include#include"foo.h"std::stringfoo(MyClassa){std::vectorx;MyClassb;...}重新包含是一个好习惯吗?和non_standard_class.h在foo.cpp?重点是:如果我阅读foo.cpp我如何理解MyClass来自哪里?我需要看看foo.h但这会更加困难。

c++ - OpenCL header 包含在 C++ 中的相对路径问题

我正在尝试在EclipseCTD上运行一个OpenCLC++示例,该示例(在Mac上)包含如下OpenCLheader:#include该文件存在于我的系统中(OpenCLsdk在Mac上默认安装)但不在OpenCL目录中(实际路径:/System/Library/Frameworks/OpenCL.framework/Versions/A/Headers),所以如果我将该路径添加为项目属性中的包含目录并从#include语句中删除相关的OpenCL目录,链接显然已解析但是我注意到在thatcl.hfile中其他头文件使用相同的相对路径引用(例如OpenCL/cl_platform.h