草庐IT

c++ - 使用 CMake 静态链接到项目外部的库

我想使用CMake将我的项目链接到我的共享库。该库仅在少数项目之间共享并且相当小,所以我真的很想在链接之前构建它。每次都构建它似乎比维护一个最新的预编译版本更好,因为我要与项目一起更改它。它是独立的,因为它包含我在下一个项目中几乎肯定会需要的东西。如何配置CMake来做到这一点?我当前的相关项目的CMakeLists.txt如下所示:find_package(BoostREQUIREDCOMPONENTSunit_test_framework)include_directories(${BaumWelch_SOURCE_DIR}/../../grzesLib/src${BaumWelc

c++ - 什么是在 Visual Studio 2012 的新 C++ 项目中自动创建的 stdafx.cpp 文件

据我了解,stdafx.h是一个预编译的头文件,用于缩短VisualStudio中的编译时间。当我在VisualStudio2012中创建一个c++项目时,还有一个stdafx.cpp。谁能解释一下stdafx.h和stdafx.cpp的关系? 最佳答案 预编译的头文件可以大大加快项目中.cpp文件的编译速度。按照惯例,stdafx.h#include包含您要预编译的所有.h文件。您可以随意命名,但项目模板只选择stdafx.h但在此之前,必须有一个.cpp文件#includesstdafx.h并首先编译。在项目中的所有其他.cpp

c++ - 什么是在 Visual Studio 2012 的新 C++ 项目中自动创建的 stdafx.cpp 文件

据我了解,stdafx.h是一个预编译的头文件,用于缩短VisualStudio中的编译时间。当我在VisualStudio2012中创建一个c++项目时,还有一个stdafx.cpp。谁能解释一下stdafx.h和stdafx.cpp的关系? 最佳答案 预编译的头文件可以大大加快项目中.cpp文件的编译速度。按照惯例,stdafx.h#include包含您要预编译的所有.h文件。您可以随意命名,但项目模板只选择stdafx.h但在此之前,必须有一个.cpp文件#includesstdafx.h并首先编译。在项目中的所有其他.cpp

c++ - 禁用 VC++ 2010 项目中特定文件的预编译头文件

正如标题所说。我有一个C++项目,并添加了1个C.h文件和一个C.c源文件,但是由于项目的其余部分使用了预编译的header,因此它们遇到了问题,但是如果我尝试将其包含在那些C文件中,它给出一个错误。我不能只禁用整个项目的预编译头文件,因为它是使用它的更大项目的一部分,并且有其他人的代码。那么有没有办法选择这两个C文件(.h头文件和.c源文件)并禁用PCH?谢谢。 最佳答案 在解决方案资源管理器中突出显示该文件并点击Alt+F7。这将显示文件的属性;在“预编译头文件”下的“C/C++”部分中,您将找到相关选项。您无需担心.h文件。

c++ - 禁用 VC++ 2010 项目中特定文件的预编译头文件

正如标题所说。我有一个C++项目,并添加了1个C.h文件和一个C.c源文件,但是由于项目的其余部分使用了预编译的header,因此它们遇到了问题,但是如果我尝试将其包含在那些C文件中,它给出一个错误。我不能只禁用整个项目的预编译头文件,因为它是使用它的更大项目的一部分,并且有其他人的代码。那么有没有办法选择这两个C文件(.h头文件和.c源文件)并禁用PCH?谢谢。 最佳答案 在解决方案资源管理器中突出显示该文件并点击Alt+F7。这将显示文件的属性;在“预编译头文件”下的“C/C++”部分中,您将找到相关选项。您无需担心.h文件。

c++ - Visual Studio 2010、Intellisense 和 PCH : what are the alternatives to ugly stdafx. h?

我最近切换到VisualStudio2010并且Intellisense在使用boost库时不会花半分钟时间显示出来,Microsoft'ssuggestion似乎使用了预编译的头文件。除了我以前从未使用过它们(除非被UglyATLWizards(TM)强制使用),所以我四处寻找以弄清楚它们是如何工作的。基本上,BigCentralizedstdafx.h方法似乎完全错误。我从不想在我的所有源代码中包含(甚至便宜)一大堆头文件。因为我不使用Windows库(我制作C++/CLI更高级别的包装器,然后使用.NET与外界对话),所以我没有“一大堆不变的巨大标题”。只是boost和散落在各处

c++ - Visual Studio 2010、Intellisense 和 PCH : what are the alternatives to ugly stdafx. h?

我最近切换到VisualStudio2010并且Intellisense在使用boost库时不会花半分钟时间显示出来,Microsoft'ssuggestion似乎使用了预编译的头文件。除了我以前从未使用过它们(除非被UglyATLWizards(TM)强制使用),所以我四处寻找以弄清楚它们是如何工作的。基本上,BigCentralizedstdafx.h方法似乎完全错误。我从不想在我的所有源代码中包含(甚至便宜)一大堆头文件。因为我不使用Windows库(我制作C++/CLI更高级别的包装器,然后使用.NET与外界对话),所以我没有“一大堆不变的巨大标题”。只是boost和散落在各处

c++ - 混合 C 和 C++ 的预编译头文件

我在我的C项目中使用预编译的头文件,但我们正在将.CPP文件集成到项目中。这是错误:Error1fatalerrorC1853:'Debug\MuffinFactory.pch'precompiledheaderfileisfromapreviousversionofthecompiler,ortheprecompiledheaderisC++andyouareusingitfromC(orviceversa)c:\users\blake\desktop\projects\muffinfactory\source\main.cpp1我们只需要在我们的项目中编译一个.CPP,但我们确实需

c++ - 混合 C 和 C++ 的预编译头文件

我在我的C项目中使用预编译的头文件,但我们正在将.CPP文件集成到项目中。这是错误:Error1fatalerrorC1853:'Debug\MuffinFactory.pch'precompiledheaderfileisfromapreviousversionofthecompiler,ortheprecompiledheaderisC++andyouareusingitfromC(orviceversa)c:\users\blake\desktop\projects\muffinfactory\source\main.cpp1我们只需要在我们的项目中编译一个.CPP,但我们确实需

c++ - 如何协调将 header /源代码与模板分离的 C++ 习惯用法?

我有点想知道这个模板业务。在C和C++中,将声明放在头文件中并将定义放在源文件中是很常见的,并且将两者完全分开。然而,就模板而言,这似乎是不可能的(以任何好的方式),而且众所周知,模板是一个很棒的工具。此外,Boost主要是标题,所以这是一个真正的问题。在C++中分离header和源代码仍然是一个好主意,还是我不应该严重依赖模板? 最佳答案 实例化模板在编译时是昂贵的,但在运行时实际上是免费的。基本上,每次使用新模板类型时,编译器都必须为该新类型生成代码,这就是代码位于header中的原因,以便编译器稍后可以访问代码。将所有代码放在