草庐IT

c++ - Visual Studio 还能优化预编译代码吗?

好的,解释我的问题的最好方法是通过2个示例:示例1:您已经为自己创建了一个名为MyLibrary的框架或引擎,并且您构建的是一个具有最大优化选项的.lib。现在您包括标题并链接.lib在一个名为MyImplementation的新项目中。该项目使用了MyLibrary的大部分功能,完成后,您将构建该项目(再次进行最大优化)。示例2:您再次拥有相同的库,但不是构建它,而是让它开源。然后您创建相同的MyProject,包含标题并以最大优化构建MyProject已启用。那么,示例2会运行得更快吗,因为编译器可以访问整个源代码(框架/引擎+您在其中使用它的项目)?

c++ - 预编译头问题

我现在正在重组我的项目,最近一个简单的应用程序现在变成了一对C++项目-静态库和真实应用程序。我想在两个项目之间共享一个预编译头文件,但在设置.pdb文件路径时遇到了一些麻烦。假设我的第一个项目名为Library并使用相应的Library.pdb文件构建它的.lib文件。现在,第二个项目称为Application并将所有内容构建到同一文件夹中(.exe和另一个Application.pdb文件)。现在我的两个项目都基于一个实际头文件创建它们自己的预编译头文件(Library.pch和Application.pch).它有效,但我认为这是浪费时间,而且我还认为应该有一种方法可以在两个项目

c++ - Boost预编译头文件问题

我尝试预编译Boostheader。第一个实验-使用std::header。我创建文件std.hpp:#include#include//Andotherstd::headers之后:g++std.hpp将std.hpp.gch复制到/usr/include/c++/4.4.5并编写测试程序:#includeintmain(){std::cout工作正常。现在尝试预编译Boostheader。我创建了boost.hpp文件:#include#include之后:g++boost.hpp将boost.hpp.gch复制到/usr/local/include/boost并编写测试程序:#i

c++ - Eclipse CDT - 预编译 header

我正在寻找一种直接的方法来使用Eclipse/CDT为C++项目使用预编译头文件。这些东西在从命令行运行时确实有效,但我正在寻找一种将其集成到Eclipse中的简单方法。有什么建议吗?! 最佳答案 只是为了帮助其他可能偶然发现这一点的人(因为我花了一些时间来解决这个问题)首先要做的是使用pch.cpp和pch.h文件创建一个PCH文件夹(如果需要)。pch.cpp:(这个文件是用来编译.gch的)#include"pch.h"pch.h:#include#include//morestuffthat'snotchanginganyt

c++ - Qt 5.1.1在vs2010编译报错

我正在努力将一个相当大的项目从Qt4.8.3升级到Qt5.1.1。我们使用vs2010,我使用的是v1.2.2VSQt插件。我已经修复了添加QtWidgets带来的所有路径问题和新实现QPointer的一些错误,但现在我遇到了一组特定的错误,我希望其他人已经看到并能够克服这些错误:1>c:\qt\qt5.1.1\5.1.1\msvc2010_opengl\include\qtcore\qarraydataops.h(399):errorC2171:'!':illegalonoperandsoftype''unknown-type''1>c:\qt\qt5.1.1\5.1.1\msvc2

c++ - 禁用单个文件的预编译头

我在vs2013上开发一个包含许多.cpp文件的项目,并为它们使用预编译的header。我正在使用CMake构建我的项目。但是我有一个.c文件(我们称它为xyz.c),我想为它禁用预编译头文件。我尝试了几种方法,但如果我为所有.cpp文件启用预编译header,它也会自动为.c文件启用。这是我尝试过的:set_source_files_properties(xyz.cPROPERTIESCOMPILE_FLAGS/Y-xyz.c)假设/Yu为所有文件打开,我只是尝试为xyz.c关闭此选项。谁知道什么方法,请告诉我。 最佳答案 从cm

c++ - 库构建器的预编译头文件用法

根据thisanswerboost和STLheader属于预编译header文件(MSVC世界中的stdafx.h)。所以我更改了我的动态链接库项目的header,并将所有STL/Boostheader移动到我项目的stdafx.h中。之前#includenamespaceXXX{classCLASS_DECL_BKCExampleClass//CLASS_DECL_BKisjustastandarddllimport/exportmacro{private:boost::scoped_ptrm_replica;}}之后namespaceXXX{classCLASS_DECL_BKCE

c++ - 预编译 header 在使用 Qt Creator/qmake/MinGw 的调试版本中不起作用

在QtCreator中,我有一个使用PRECOMPILEDHEADERS的pro文件。当我在Release模式下构建时,构建工作非常完美。但是在Debug模式下构建会出错,生成目标文件失败。示例:17:12:40:RunningstepsforprojectEuclide...17:12:40:Configurationunchanged,skippingqmakestep.17:12:40:Starting:"C:\Qt\Tools\mingw48_32\bin\mingw32-make.exe"C:\Qt\5.2.0\mingw48_32\bin\qmake.exe-specwin

c++ - 编译错误 : Cannot open precompiled header. pch -- 没有那个文件或目录

我最近购买了BjarneStroustrup撰写的“编程:使用C++的原理和实践”一书,并一直在阅读它。我目前停留在一个早期项目中,我需要输出一些文本字符串。在Windows10LenovoYoga2Pro笔记本电脑上使用VisualStudioCommunity2015update1,我尝试编译该项目但遇到了详细错误:“无法打开预编译头文件:Debug\FindingtheUpstairsBathroom.pch':没有这样的文件或目录”。该项目的名称恰如其分地命名为“FindingtheUpstairsBathroom.cpp”。这是代码://Ihavetheheaders"std

c++ - 检测预编译头文件

有没有办法让预处理器检测当前代码是否在翻译单元使用(或正在创建)预编译头文件?---我现在面临的实际问题是我正在进行的项目是通过预编译几乎所有头文件来滥用PCH。也就是说没有你可以从#includes获得清晰的依赖管理,而且编译时间很糟糕。实际上,每次更改都会触发完全重建。该应用程序太大了,只能一次修复它,一些老家伙拒绝了相信预编译一切都是不好的。我必须先证明它。所以我必须一步一步来,并确保我的更改不会影响以旧的PCH方式编译的代码。我的计划是对PCH.h进行ifdef处理,并在有空闲时间时处理非PCH版本。#ifdefUSES_PCH#include"PCH.h"#elif//inc