草庐IT

make_scoped

全部标签

c++ - 'make install' 被认为是有害的吗?

根据这篇文章,GoogleC++测试框架认为“makeinstall”是一种不好的做法。http://groups.google.com/group/googletestframework/browse_thread/thread/668eff1cebf5309d原因是这个库违反了“一个定义规则”。http://en.wikipedia.org/wiki/One_Definition_Rule在线程的某个地方它说:“如果你将不同的-DGTEST_HAS_FOO=1标志传递给不同的翻译单元,你将违反ODR。或者有时人们使用-D选择要使用的malloc库(调试与发布),你有全面使用相同的m

c++ - 如何使用 make 运行增量 PC-Lint

我想使用Make以增量方式将GimpelPC-Lint应用到我的源代码。我希望它仅在源文件自上次运行lint后发生更改时才对源文件运行lint。有人这样做吗?你是如何接近它的? 最佳答案 常见的模式是创建输出(如果没有,则创建人工输出)。编辑注意$(LINT)$$@将扩展为类似linttest.cpp>test.lint的内容(将输出重定向到该文件)例如%.o:%.cpp|%.lintS(CC)-o$@$(CPPFLAGS)$$@或者对于没有输出的过程:%.o:%.cpp|%.emailsentS(CC)-o$@$(CPPFLAGS

c++ - Automake 库工具 'No rule to make target'

我一直在尝试构建OpenGLSuperBible附带的GLTools库使用automake进入libtool库。我已经设置了autoconf和automake,但是当涉及到实际构建库时,我得到:$makemake:***Noruletomaketarget`GLBatch.lo',neededby`libgltools.la'.Stop.我在google上搜索了尽可能多的内容,但一无所获,我是automake的新手,所以我不太确定要搜索什么。我敢肯定这要么是一个小错误,要么是我错过了一些基本的东西。这是我的Makefile.am:ACLOCAL_AMFLAGS=-Im4lib_LTLI

c++ - Qt Creator 在步骤 'make' 编译错误

我刚开始使用QtCreator创建C++GUI程序。我刚刚下载并安装了它,但编译过程抛出了错误。当我尝试编译我的项目时(非常简单,屏幕上只有一个QLabel...这是我的第一个项目)出现错误:qtcreator_ctrlc_stub:Commandlinefailed:C:\Users\andrew\Dropbox\Programming\C++\build-FirstGUIApp-Desktop_Qt_5_1_1_MSVC2012_32bit-Debug\Makefile10:04:35:Theprocess"C:\Users\andrew\Dropbox\Programming\C

c++ - 哪些库对 std::make_shared 使用了 "We Know Where You Live"优化?

两年前,StephanT.Lavavejdescribedaspace-savingoptimization他在Microsoft的std::make_shared实现中实现了这一点,我从与他的交谈中了解到,Microsoft并不反对采用此优化的其他库实现。如果您确定其他库(例如,用于GnuC++、Clang、IntelC++以及Boost(用于boost::make_shared))是否采用了此实现,请提供答案。我还没有准备好访问那么多make_shared实现,我也不想深入研究那些我必须看看他们是否已经实现了WKWYL优化的东西,但我希望SO读者知道一些图书馆的答案。通过查看代码,

c++ - 当非限定名称查找涉及 using-directives 时 [basic.scope.hiding]p2 的解释

在c++中有两种隐藏的名字:1)普通名称隐藏:[basic.scope.hiding]p1(http://eel.is/c++draft/basic.scope.hiding#1):Anamecanbehiddenbyanexplicitdeclarationofthatsamenameinanesteddeclarativeregionorderivedclass([class.member.lookup]).2)隐藏在[basic.scope.hiding]p2(http://eel.is/c++draft/basic.scope.hiding#2)中的特殊名称类型:Aclassn

c++ - make 执行顺序的问题

这是我编写的一个make文件,当前目标是将目录中的所有c++文件转换为目标文件。我的问题是它总是先执行g++,然后再执行任何其他命令。CC=g++CPPFLAGS=`pkg-config--cflags--libsgtkmm-3.0`SRCS=$(wildcardclasses/source/*.cc)PROGS=$(patsubst%.cc,%,$(SRCS))CLASS_HEADERS=classes/all:$(PROGS)mkdir-pbuild/release/objs%:%.cc$(CC)-I$(CLASS_HEADERS)-c$结果:g++-Iclasses/-cclas

【Linux】make和Makefile

目录make和Makefilemake和Makefile我们使用vim编辑器的时候,在一个文件里写完代码要进行编译,要自己输入编译的指令。有没有一种可以进行自动化编译的方法——makefile文件,它可以指定具体的编译操作,写好makefile文件,只要一个make指令,就能够对源文件进行自动化编译。makefile与Makefile两种写法都可以makefile是文件,make是指令先创建一个makefile文件,然后进行编写目标文件与依赖文件列表组成依赖关系,依赖方法是具有要执行的操作。依赖文件列表可以不止一个文件。保存退出,make指令完成编译工作,mybin就是可执行程序当再次输入ma

c++ - 在 boost::python 中公开 boost::scoped_ptr

我收到一个编译错误,说scoped_ptr的复制构造函数是私有(private)的,代码片段如下:classa{};structs{boost::scoped_ptrp;};BOOST_PYTHON_MODULE(module){class_("s");}虽然这个例子适用于shared_ptr。如果有人知道答案,那就太好了。谢谢 最佳答案 boost::scoped_ptr的语义禁止复制,而shared_ptr旨在被复制。您得到的错误是编译器告诉您某些代码(宏扩展?)正在尝试复制scoped_ptr但库不允许进行复制。

c++ - std::make_shared 作为默认参数不编译

在VisualC++(2008和2010)中,以下代码无法编译并出现以下错误:#includevoidFoo(std::shared_ptrtest=::std::make_shared(5)){}classP{voidFoo(std::shared_ptrtest=::std::make_shared(5)){}};errorC2039:'make_shared':不是'`globalnamespace''的成员errorC3861:'make_shared':找不到标识符它提示P::Foo()而不是::Foo()的定义。有谁知道为什么Foo()有一个默认参数与std::make_s