草庐IT

additional_header

全部标签

c++ - 如何在大约 v2.8.8 的 cmake 中轻松包含来自库依赖项的 header

我正在对C++存储库使用CMake进行一些试验,但我遇到了一些麻烦,试图在不使用大量额外CMake代码的情况下轻松地针对同一源代码树中的库构建应用程序。源码树的布局基本如下:ROOTlibs/lib1/lib2/lib3/apps/app1/app2/app3/库相互独立,应用程序可以链接到一个或多个库。目前我有一个根目录CMakeLists.txt,它将每个应用程序和库列为一个子目录,这样如果库被更改并且应用程序被重建,库也会被重建。这工作正常并且CMake链接它而无需我指定库所在的位置,但我没有看到对包含目录执行类似操作的方法。有没有通用的方法来处理这个问题?我不希望每个应用程序的

c++ - Visual Studio 2012 没有安装 C-Header?

我已经安装了VisualStudio2012并使用它工作了大约2周。但是现在我想开始一个C++项目(我通常是c#程序员)并且我写了一些简单的代码。之后我想编译它,但出现了很多错误……没有标准的c头文件。我做了什么:创建了一个新的Win32项目(空项目)使用这些创建的代码包括:#include#include#include#includeWindows.h是找到了,其余没有。有人有想法吗?我还查看了IncludeDirectories:$(VCInstallDir)include$(VCInstallDir)atlmfc\include$(WindowsSDK_IncludePath)

C++ - Zlib - header 和无 header 支持。有多可靠?

我目前正在开展一个大型项目,该项目可能每天使用C++中的zlib压缩/解压缩数千个文档。(我们的实现有zlib1.2.8)我们当前的实现支持带头和不带头的压缩文件,但是必须设置bool值“useZlibHeader”。我们的团队想知道是否有一种100%可靠的方法来确定header是否存在。根据此文档:https://www.ietf.org/rfc/rfc1950.txt据说“FCHECK值必须使得CMF和FLG,当被视为以MSB顺序存储的16位无符号整数(CMF*256+FLG)时,是31的倍数。”确实这是一个很好的检查,但有可能我们最终得到一个没有标题的压缩文件,但它的数据是(CM

c++ - 将 header 添加到项目设置中的每个文件(gcc -include)

我有一个项目使用gcc-includefile.h正如gcc文档所说,这确保了file.h包含在以这种方式编译的每个文件中(这意味着每个其他文件中都有#include"file.h")。现在我已经将这个项目导入到eclipse中,我在该文件所在的位置设置了包含路径,但无法弄清楚如何在eclipse项目设置中执行类似gcc-include的操作。这样做的结果是,在编辑器中我有很多“符号xy无法解析”,但项目编译得很好。感谢您的帮助。 最佳答案 您可以逐个项目更改CDTGCC内置编译器设置。转到项目->Properties->C/C++

C++使用 header 定义的模板类乘以定义的符号

我正在visualstudio2005中开发一个包含DLL和EXE的项目。DLL的代码中有一个可增长数组类的模板:templateclassGArray{Type*p;uint32len;uint32alloc;protected:boolfixed;public:///ConstructorGArray(intPreAlloc=0){p=0;len=0;fixed=false;alloc=PreAlloc;if(alloc){intBytes=sizeof(Type)*alloc;p=(Type*)malloc(Bytes);if(p){memset(p,0,Bytes);}else

c++ - 是否有任何示例代码可以从 Jpeg exif header 中读取缩略图?

我在Windows中使用C++编写应用程序。我想从jpeg中获取缩略图,而不对整个图像进行解码。如何从jpegexifheader中读取缩略图?谁能给我一些示例代码?非常感谢! 最佳答案 不出所料,该库名为libexif有win32端口,并且有readingthubnailfromfile的示例代码 关于c++-是否有任何示例代码可以从Jpegexifheader中读取缩略图?,我们在StackOverflow上找到一个类似的问题: https://stack

c++ - 将 using tr1::shared_ptr 放在 header 中的命名空间 std 中是否合法?

使用std::tr1::shared_ptr作为std::shared_ptr放置using指令是否合法和良好的编程风格标题?像这样:namespacestd{usingtr1::shared_ptr;}我知道污染整个命名空间是不好的,但这种情况呢?有没有隐藏的陷阱?目标编译器是VS2008,但也希望与更高版本兼容。 最佳答案 从技术上讲,如果您这样做,标准表示您进入了未定义行为的领域:17.6.4.2.1命名空间标准[namespace.std]1ThebehaviorofaC++programisundefinedifitadds

c++ - 理解问题: Precompiled headers & include usage

我遇到了有关预编译header和#include指令的用法的理解问题。因此,我在这里得到了“stdafx.h”,并在其中包含了例如vector,iostream和string。显然,关联的“stdafx.cpp”仅包含“stdafx.h”。因此,如果我设计自己的头文件使用例如vector或iostream中的“代码”,则必须包含头文件,因为编译器当时不知道声明。那么,为什么这里的一些帖子(includestdafx.hinheaderorsourcefile?)说,即使其他文件包含所需的声明,例如在其他头文件中包含“stdafx.h”也不是一件好事。vector?因此,基本上没有关系直

C++ 模板和 header 分配

我最近遇到了在一个DLL(或*.so-可移植代码)中分配内存和在另一个DLL中释放内存的问题。目前我遇到的错误是:它只是行不通-调试时assert()失败。如果一个DLL与标准C库静态链接而另一个DLL与其动态链接,则无法正常工作。如果一个DLL进行了分配,然后该DLL被卸载并且另一个DLL试图释放该内存,则它不起作用。基本上我决定应该遵循的规则是不要在一个DLL中进行分配并在另一个DLL中释放它(最好将其保存在一个cpp文件中)。这通常也意味着我不应该在可能被多个DLL共享的头文件中进行分配。这意味着我不应该在tempaltes中进行分配(因为它们都在header中),这是一个很大的

c++ - 在 Visual Studio 2008 C++ 的 header 中自动指定 .LIB

是否可以在VisualStudio2008中自动链接c++静态库?或者,使用标准方法是否有改进?我正在开发一组C++库,链接/测试它们非常痛苦。通常的方法是在测试客户端中指定.lib文件,但现在列表已经变得非常大(我自己的库、opencv、boost和其他),而且在调试和Release模式之间切换时我总是遗漏一些东西,gpu和非gpu等。当我在项目属性中打开链接器时,列表会滚动一段时间。我希望我可以自动指定如果客户端#includes项目也应该链接到指定的.lib(调试/发布)。这是否可能,或者是否有替代方法可以帮助管理以最少的用户交互来管理链接? 最佳答案