草庐IT

include_guard_symbol

全部标签

c++ - vim + C++ : insert a uuid in a guard clause

我正在尝试自动化文件注释标题。我一直在尝试弄清楚如何使用vim的autocmd将uuidgen命令的结果插入到我的header中。在页眉中,存在占位符文本,如下所示:#ifndef_UUID_#define_UUID_//Codegoeshere!#endif//_UUID_在.vimrc中填充_UUID_的自动命令行是:autocmdbufnewfile*.hexe"1,$s/_UUID_/".r!uuidgen."/g"问题出在r!uuidgen下。如何将shell命令执行的结果作为文本插入到autocmd行中?或者在vi替换命令中? 最佳答案

c++ - Eclipse cdt : Includes header file correct, 编译,但突出显示源代码: "Unresolved inclusion"

我有一个项目使用另一个项目的共享库。在项目设置中,我为GCC和G++编译器(-L和-l选项)设置了正确的包含路径和库。一切都编译得很好,这里没有问题。但是源代码没有正确分析。我包含的头文件(位于另一个项目中)被标记为“Unresolvedinclusion并且我在任何地方使用它的东西,源也被突出显示。#include"myHeader.h"有什么想法吗?谢谢! 最佳答案 您在这里(可能)缺少的是告诉索引器在哪里寻找这些header。我通常管理自己的Makefile,所以我不知道如何让它同时适用于eclipse管理的makefile和

c++ - 防止 Boost Spirit Symbol 解析器过早接受关键字

当以有效关键字(符号)开头时,如何防止BoostSpirit符号解析器接受关键字(符号)。我希望该构造无法将“ONEMORE”作为一个整体进行解析,并且无法成功解析“ONE”,因为这是一个有效的关键字,然后在“MORE”上失败。下面是代码的实际输出:Keywordasanumber:1Keywordasanumber:2Keywordasanumber:1Invalidkeyword:MORETHREE这就是我喜欢的样子:Keywordasanumber:1Keywordasanumber:2Invalidkeyword:ONEMOREKeywordasanumber:3该代码只是一个

c++ - OSX 10.7.5 上的 node-gyp -- dyld : lazy symbol binding failed: Symbol not found

我搜索了很多,我发现最接近同一个问题的是这个(也是未回答的)问题:Symbolnotfound:_libintl_gettext我正在尝试为libpuzzle制作一个薄的C++包装器。$node--versionv0.8.18$npm--version1.2.4$node-gyp--versionv0.8.3Sourcecodeongithub正在尝试构建(我用...手动缩短了路径)$node-gypcleanconfigurebuild&&nodetest.jsgypinfoitworkedifitendswithokgypinfousingnode-gyp@0.8.3gypinfo

c++ - 如何在 emacs C++ 编译模式下跳过 "in file included from"?

我喜欢使用emacs编译我的C++项目,使用编译模式和next-error跳转到源代码中的警告和错误。但是,我发现非常烦人的是next-error将我带到编译输出中的每个#include行“Infileincludedfrom”。我知道您可以使用compilation-skip-threshold跳过警告,但我不想跳过警告,这些包含行显示为警告。对我来说这似乎是编译模式中的错误(这些不是警告),但是thisbug被关闭为“不是错误”具体来说,对于如下所示的输出:Infileincludedfrom/path/to/file1.h:linenum1:Infileincludedfrom/

c++ - 映射#include 的工具

是否有可用的工具获取一组源文件并映射(以图形方式)它们如何通过#include链接?我想看看哪里有循环引用。 最佳答案 我相信doxygen:http://www.doxygen.org/安装了graphviz:http://www.graphviz.org/会做的。 关于c++-映射#include的工具,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/3233471/

c++ - GCC 优化在运行时产生 "Undefined symbol"

我现在有一个让我很困惑的问题:我有一段用C++编写的软件,它链接到C中的一个库。我使用通常的方式包含头类extern"C"{#include}只要我不使用gcc的优化,一切都可以正常工作。一旦我什至打开-O1,因此是第一个优化级别,在运行时我从这个库中得到一个符号的“undefinedsymbol”错误。但是,该名称已经过名称修改,由于extern"C",应该将其禁用。调用相关符号的函数是内联的,以防万一。使用的编译器是gcc4.4.3。老实说,我什至不知道要搜索什么,所以如果你们中的任何人能给我一些这种行为的理由,我将不胜感激。感谢您的支持。 最佳答案

C++ - include <string> 错误

我是c++的新手,正在编写教程。我已经完全复制了教程,但在编译时出现此错误:'Stringfilenotfound'对于行#include;有人可以告诉我如何修改吗? 最佳答案 Ok,soIchangedthenameofmyfilefrom.Cto.cppandthisparticularissueseemstohavegone.您似乎找到了解决方案,我添加这个是为了阐明为什么会发生这种情况。一些与IDE集成的编译器会处理.c文件作为C源代码.cpp(或.cc、.c++等)作为C++代码。当你编译.c文件,不包括C++支持,并且使

c++ - 模板构建错误 : Undefined symbols for architecture x86_64:

我正在尝试使用一个模板类,当我在LWS中将它编译到一个文件中时,它起作用了:(链接失效)~http://liveworkspace.org/code/a9c412a7e683439dfa35a9363749369d~但是当我尝试编译它由3个文件组成时,stack.h第4到21行stack.cpp第24到48行main.cpp第49行到结束当我尝试编译这3个文件时,我得到了Undefinedsymbolsforarchitecturex86_64:"Stack2,std::allocator>>::push(Node**,std::basic_string,std::allocator>

c++ - '#include' 和 'using' 语句是否应该在头文件和实现文件 (C++) 中重复?

我是C++的新手,但我的理解是#include语句基本上只是将#included文件的内容转储到该语句的位置。这意味着如果我的头文件中有许多'#include'和'using'语句,我的实现文件可以只#include头文件,如果我不重复其他语句,编译器就不会介意.但是人呢?我主要担心的是,如果我不重复“#include”、“using”和“typedef”(现在我想到了)语句,它会从它所在的文件中获取该信息使用,这可能会导致混淆。目前我只是在处理小型项目,它不会真正造成任何问题,但我可以想象,在有更多人参与的大型项目中,它可能会成为一个重大问题。例子如下:更新:我的“Unit”函数原型