草庐IT

vs-cmake-examples

全部标签

c++ - Cmake include_directories()

这是我的项目树:project|+src|+external||+foo|||+include||||-foo.hpp|||+src||||-foo.cpp||||-CMakeLists.txt|||-CMakeLists.txt||+CMakeLists.txt|+src||-main.cpp|-CMakeLists.txtfoo.cpp包括foo.hpp://foo.cpp#include"foo.hpp"现在的问题是在顶层CMake中包含目录成功找到foo.hpp,但如果我包含在子项目中,它不会。有什么理由吗?(在编译可执行文件之前包含目录)。//project/CMakeLis

c++ - Cmake include_directories()

这是我的项目树:project|+src|+external||+foo|||+include||||-foo.hpp|||+src||||-foo.cpp||||-CMakeLists.txt|||-CMakeLists.txt||+CMakeLists.txt|+src||-main.cpp|-CMakeLists.txtfoo.cpp包括foo.hpp://foo.cpp#include"foo.hpp"现在的问题是在顶层CMake中包含目录成功找到foo.hpp,但如果我包含在子项目中,它不会。有什么理由吗?(在编译可执行文件之前包含目录)。//project/CMakeLis

visual-studio - CMake 如何为 Visual Studio 2015 项目指定 "Platform Toolset"?

有一个由CMake生成的VS2015项目,我想更改其“平台工具集”。我已经尝试了这些解决方案,但它不起作用:设置(CMAKE_VS_PLATFORM_TOOLSET"v120")cmake-T"v120"有人可以帮忙吗?谢谢。 最佳答案 首先:如果您已经生成了项目,请删除CMakeCache.txt。下次运行cmake:cmake-G"VisualStudio14"-Tv120当您需要更改生成器(工具集是其中的一部分)时,您应该删除CMakeCache.txt文件。 关于visual-s

visual-studio - CMake 如何为 Visual Studio 2015 项目指定 "Platform Toolset"?

有一个由CMake生成的VS2015项目,我想更改其“平台工具集”。我已经尝试了这些解决方案,但它不起作用:设置(CMAKE_VS_PLATFORM_TOOLSET"v120")cmake-T"v120"有人可以帮忙吗?谢谢。 最佳答案 首先:如果您已经生成了项目,请删除CMakeCache.txt。下次运行cmake:cmake-G"VisualStudio14"-Tv120当您需要更改生成器(工具集是其中的一部分)时,您应该删除CMakeCache.txt文件。 关于visual-s

c++ - std::hash_set vs std::unordered_set,它们是一回事吗?

我知道hash_set是非标准的,而unordered_set是标准的。但是,我想知道,性能方面,两者之间有什么区别?为什么要分开存在? 最佳答案 C++标准规定的unordered_容器的复杂性要求基本上没有为实现留下太多空间,它必须是某种哈希表。该标准是在充分意识到大多数供应商已经将这些数据结构作为扩展部署的情况下编写的。编译器供应商通常将这些容器称为“HashMap”或“哈希集”,这可能是您所指的(标准中没有文字std::hash_set,但是我认为GCC在单独的命名空间中有一个,对于其他编译器也是如此)。编写新标准时,作者希

c++ - std::hash_set vs std::unordered_set,它们是一回事吗?

我知道hash_set是非标准的,而unordered_set是标准的。但是,我想知道,性能方面,两者之间有什么区别?为什么要分开存在? 最佳答案 C++标准规定的unordered_容器的复杂性要求基本上没有为实现留下太多空间,它必须是某种哈希表。该标准是在充分意识到大多数供应商已经将这些数据结构作为扩展部署的情况下编写的。编译器供应商通常将这些容器称为“HashMap”或“哈希集”,这可能是您所指的(标准中没有文字std::hash_set,但是我认为GCC在单独的命名空间中有一个,对于其他编译器也是如此)。编写新标准时,作者希

c++ - 我们可以在没有 MSTest 的情况下在 VS2012 或 VS2010 中获得原生 C++ 代码覆盖率吗?

我们想测量我们自己的自动化回归测试系统在相当大的native应用程序上运行的代码覆盖率。这是一个复杂的脚本测试系统,使用我们应用程序的内置脚本。它有数千个测试,不会被MSTest单元测试取代。虽然我们目前使用VS2012(Premium)作为IDE,但它仍然使用VS2010编译器和库进行编译。如果这是获得代码覆盖率的先决条件,这种情况可能会很快改变。我们可以为此进行单独的构建-检测不是问题。我只是对阅读MS文档感到困惑,这些文档似乎都是从假设您使用其内置测试框架运行单元测试开始的。那时我不会费力寻找真正首先谈论对ALM的native支持的东西!谢谢 最佳答案

c++ - 我们可以在没有 MSTest 的情况下在 VS2012 或 VS2010 中获得原生 C++ 代码覆盖率吗?

我们想测量我们自己的自动化回归测试系统在相当大的native应用程序上运行的代码覆盖率。这是一个复杂的脚本测试系统,使用我们应用程序的内置脚本。它有数千个测试,不会被MSTest单元测试取代。虽然我们目前使用VS2012(Premium)作为IDE,但它仍然使用VS2010编译器和库进行编译。如果这是获得代码覆盖率的先决条件,这种情况可能会很快改变。我们可以为此进行单独的构建-检测不是问题。我只是对阅读MS文档感到困惑,这些文档似乎都是从假设您使用其内置测试框架运行单元测试开始的。那时我不会费力寻找真正首先谈论对ALM的native支持的东西!谢谢 最佳答案

c++ - 使用 CMake 编译静态可执行文件

对于一个项目,我需要创建一个包含我使用的所有库(opencv、cgal)的可执行文件,以便在没有这些库的计算机上执行它。目前,这是我的CMakeLists.txt(我使用linux)。cmake_minimum_required(VERSION2.8)#set(CMAKE_CXX_FLAGS_DEBUG"${CMAKE_CXX_FLAGS_DEBUG}-Wall")set(CMAKE_CXX_FLAGS_RELEASE"${CMAKE_CXX_FLAGS_RELEASE}-Wall-O2")project(labeling)set(CMAKE_FIND_LIBRARY_SUFFIXES

c++ - 使用 CMake 编译静态可执行文件

对于一个项目,我需要创建一个包含我使用的所有库(opencv、cgal)的可执行文件,以便在没有这些库的计算机上执行它。目前,这是我的CMakeLists.txt(我使用linux)。cmake_minimum_required(VERSION2.8)#set(CMAKE_CXX_FLAGS_DEBUG"${CMAKE_CXX_FLAGS_DEBUG}-Wall")set(CMAKE_CXX_FLAGS_RELEASE"${CMAKE_CXX_FLAGS_RELEASE}-Wall-O2")project(labeling)set(CMAKE_FIND_LIBRARY_SUFFIXES