草庐IT

animation_default_headers

全部标签

c++ - 将 header 添加到 CMake 中的库

我有很多看起来像这样的库:libs\lib1--src\-include\lib2--src\-include其中lib2需要lib1。我这样做的方法是做这样的事情:lib2/CMakeLists.txt:include../lib1/includetarget_link_libraries(lib2lib1)如何在lib2库中包含lib1头文件/包含文件?我目前正在尝试执行此操作,但在编译过程中出现lib2找不到lib1头文件的错误。libs/CMakeLists.txt:file(GLOBlib1_src"lib1/src/*.cc")#headerfilesfile(GLOBli

c++ - 使用 gcc 或 clang 自动生成 header

给定源文件source.cpp我如何生成适当的headersource.hpp?我在linux64位下,我想避免手动编写header以减少我花在编写代码上的时间并限制可能的错误。 最佳答案 您无法从源文件自动生成适当的header,因为没有关于什么是适当的header的正式定义。特别是,从源文件中提取声明的工具无法知道声明是否应为翻译单元私有(private)或在其他翻译单元之间共享。在第一种情况下,标题中的声明恕我直言是不合适的。 关于c++-使用gcc或clang自动生成header

c++ - 在初始化构造函数时 {} 或 default 之间是否有任何差异

这三种默认类构造函数的方法之间是否有任何区别(无论多么微小):直接在header中使用{}://foo.hclassfoo{public:foo(){}}直接在header中使用default关键字://foo.hclassfoo{public:foo()=default;}在cpp中使用{}//foo.hclassfoo{public:foo();}//foo.cpp#include"foo.h"foo::foo(){} 最佳答案 是的,有区别。选项1和3是用户提供的。用户提供的构造函数是非平凡的,使类本身非平凡。这对如何处理类有

C++1 1's "default”只能应用于特殊成员函数?

=default是否只适用于特殊的成员函数?我尝试了以下但它没有编译:structA{A(int,char)=default;inti;charc;}; 最佳答案 是的,您只能显式默认特殊成员函数。来自[dcl.fct.def.default]:Afunctionthatisexplicitlydefaultedshall(1.1)—beaspecialmemberfunction,毕竟,只有特殊的成员函数是隐式默认的——所以为什么显式默认其他任何东西有意义?在这种情况下,您可以简单地删除构造函数并使A成为聚合。这将允许您使用列表初

c++ - SWIG:仅使用 header 和共享库为 Perl 包装 C++,无法定位可加载对象错误

我正在尝试学习SWIG,但在让SWIG在Linux机器上使用perl时遇到了一些问题。我有文件Dog.h、Crow.h、Animal.i和libmylib.so。所有这些文件都在同一个目录中。libmylib.so是使用Dog.cpp和Crow.cpp编译的,它们分别引用Dog.h和Crow.h。我的Animal.i文件如下:%moduleAnimal%{/*Includestheheaderinthewrappercode*/#include"Dog.h"#include"Crow.h"%}/*Parsetheheaderfiletogeneratewrappers*/%includ

c++ - 什么是正确的 LLVM header guard 样式?

在clangtidy中,检查[llvm-header-guard]寻找LLVM样式的头文件防护,但我找不到任何正确的LLVM头文件防护样式的示例,特别是给定义的名称结构,codingstandards页面没有提及任何内容。 最佳答案 查看单元测试:https://github.com/llvm-mirror/clang-tools-extra/blob/master/unittests/clang-tidy/LLVMModuleTest.cpp它似乎接受了一些常用模式的变体。对于名为include/llvm/ADT/foo.h的文件

c++ - #include <string> 在 header 中定义了一些结构。错误 : string does not define a type

#ifndefSTRCUTS_H#defineSTRCUTS_H#includestructmenuEntry{stringitemID;//'string'doesnotnameatypestringitemName;//'string'doesnotnameatype};#endif当我将#include放在header保护上方时,我得到了同样的错误。想一想,我以前在将结构定义放在标题中时遇到过奇怪的麻烦。一定是我没有得到的东西。 最佳答案 您需要将string更改为std::string,即#ifndefSTRCUTS_H#d

c++ - FastCGI:检索请求 header

我目前正在使用FastCGI与Apache和mod_fcgid开发WebC++应用程序。我正在尝试检索请求的header,但我没有找到如何执行此操作的方法。经过一些研究,我认为header在“FCGX_Request”的“envp”属性中,但它包含环境变量,例如:REMOTE_ADDR:192.168.0.50SERVER_SOFTWARE:Apache/2.2.21(Unix)mod_ssl/2.2.21OpenSSL/1.0.0fDAV/2mod_fcgid/2.3.6REDIRECT_UNIQUE_ID:TxytP38AAAEAABpcDskAAAAEFCGI_ROLE:RESP

c++ - boost::atomic 的 header 是什么

我想使用boost::atomic但要包含什么header?没有boost/atomic.hpp 最佳答案 Boost.Atomic目前还不是boost的官方部分。如果您仍想使用它,则需要从here获取它。.或者你可以试试Boost.Interprocess对于原子操作,依赖编译器相关扩展,如gccs原子操作(__sync_val_compare_and_swap等),或者,如果c++11是一个选项,请使用std::atomic,这几乎与boost::atomic相同IIRC.编辑:一如既往,这些事情发生了变化:Boost.Atom

C++:仅 header 项目,静态常量非整数

我有一个只有标题的项目。在里面我有一个类。在它里面(或实际上其他任何地方)我想要常量数据(枚举值到字符串,反之亦然)。这个问题似乎比我预期的要难得多。typedefboost::bimapData;我尝试过但没有奏效的:staticDataconsts_data=_initData();:错误如下:onlystaticconstintegraldatamemberscanbeinitializedwithinaclass.staticDataconst*consts_pData=_initData();:_initData()函数有一个静态局部变量(在第一次调用时被填充),并返回它的地