草庐IT

vs-cmake-examples

全部标签

c++ - 从子类 : gcc vs msvc 访问 protected 成员

在VisualC++中,我可以这样做:templateclassA{protected:Ti;};templateclassB:publicA{Tgeti(){returni;}};如果我尝试用g++编译它,我会得到一个错误。我必须这样做:templateclassB:publicA{Tgeti(){returnA::i;}};难道我不应该在标准C++中做前者吗?还是gcc配置错误导致出现错误? 最佳答案 这过去是允许的,但在gcc3.4中发生了变化.在模板定义中,非限定名称将不再查找依赖基的成员(如C++标准中的[temp.dep

c++ - Cmake 中的可选目标

有没有办法在CMake中指定可选目标?我的意思是那些只有在明确指定它们时才构建的,例如make,并且在您仅指定make时不会构建?我知道我可以使用add_custom_command()来做到这一点,但我需要普通构建目标具有的所有功能 最佳答案 无需使用add_custom_target。当通过add_executable为可执行文件指定构建规则时,您可以简单地指定EXCLUDE_FROM_ALL。这同样适用于add_library。 关于c++-Cmake中的可选目标,我们在Stack

c++ - 为什么迭代器在 VS2010 中导致调试非常缓慢,即使 _HAS_ITERATOR_DEBUGGING、_SECURE_SCL、_SECURE_SCL_THROWS 设置为 0

我一直试图找出为什么在Debug模式下调试我们的程序需要这么长时间。在使用xperf查看堆栈的样子后,很明显我们在迭代器和STL容器上花费了大量时间。我在谷歌上搜索了一会儿,找到了选项_HAS_ITERATOR_DEBUGGING=0_SECURE_SCL=0_SECURE_SCL_THROWS=0我用#define在代码中设置所有这些#define_HAS_ITERATOR_DEBUGGING0#define_SECURE_SCL0#define_SECURE_SCL_THROWS0但这似乎没有用,所以我尝试使用visualstudio项目中的预处理器定义,但似乎仍然没有帮助。我已经

手把手教你使用 VS Code 运行和调试 Python 程序

本文以Ubuntu系统为例,介绍如何在VSCode上配置Python的编程环境,并把Python程序运行、调试起来。由于Python是解释型语言,并且VSCode中提供了内置的调试器可用于调试Python代码,因此配置和操作流程比调试C/C++代码要简单一些。准备工作安装Python解释器如果你的本地环境还没有Python,需要先安装Python相关开发工具,可以参考Python安装指南安装或升级Python解释器。如无特殊需求,建议安装当前最新的稳定版本。安装VSCode插件确保已经在VSCode中安装了Python扩展。你可以在Extensions视图中搜索“Python”并安装Micro

c++ - reference_wrapper : make_pair VS Class Template Argument Deduction (CTAD)

为什么make_pair和类模板参数推导(CTAD)不同意生成哪种类型?#include#include#include#includeintmain(){intmyInt=5;std::reference_wrappermyIntRef=myInt;automyPair=std::make_pair(myInt,myIntRef);std::pairMy2ndPair(myInt,myIntRef);std::cout输出:St4pairIiRiE//std::pairSt4pairIiSt17reference_wrapperIiEE//std::pair>更新:为什么std::p

c++ - OpenCV+VS2010 上未处理的异常

我可以成功构建并执行以下代码:IplImage*img=cvLoadImage("C:\\hello.jpg");cvNamedWindow("myfirstwindow");cvShowImage("myfirstwindow",img);但是我在执行下面的代码时得到了未处理的异常:cv::Matimage=cv::imread("boldt.jpg");cv::namedWindow("Image");cv::imshow("Image",image);虽然,我可以成功构建代码。我在Windows7x86版本上使用opencv2.2和VS2010x86版本。请帮忙!更新:我在win

c++ - 如何更改 VS 2012 中 WP8 C++ 组件中的 $(RootNamespace) 宏?

我正在尝试更改WP8运行时组件的$(RootNamespace)以解决此问题试图解决的相同问题:ChangingnamespacenameofC++componentinWindowsPhonecausesexception但是,RootNamespace宏定义的位置在VS2012中似乎已经移动。当我在选择我的C++项目后按下alt-enter时,我看到了:这与您右键单击>属性时看到的窗口相同,据我了解,情况并非如此。他们要么在VS2012中更改了这个神秘属性的位置,要么我出了什么问题。一段时间以来,我一直反对这个问题,所以我非常感谢你们能给我的任何帮助。提前致谢

OpenCV+Cuda+Cmake+VStudio配置踩坑记录

OpenCV+Cuda+Cmake+VStudio配置记录前后配这玩意三次,一直挺头疼,最近项目原因不得不又配了一遍,遂下定决心写一下坑点前置安装CMake编译Opencv(VS2022)这步请提前确定好cuda和cudnn的版本对应,cuda版本和电脑环境的版本兼容,cuda和vs的版本对应(大坑,比如cuda11.3不支持vs2022!)查看系统支持的cuda版本:输入win+r,输入cmd,打开命令提示符窗口,输入:nvidia-smi注意这里显示的是系统支持的最高版本,不是当前版本!CUDA与VisualStudio版本之间的对应关系如下:cuda12.1及以上才支持VS2022cud

c++ - 将 freetype 与 cmake 链接起来

在使用externC库构建C++11项目时,我在使用cmake链接linux下的freetype2时遇到问题.使用cmake和freetype2我基本上有2个选择:像freetype-config--libs一样使用实用程序freetype-config使用FindFreetypecmakemodule现在我正在尝试实现第二个选项,但我对cmake不是很熟练,也不了解它的逻辑。我的问题是链接阶段,我不知道如何正确地做到这一点加上这个模块并不像freetype-config--libs的结果那样完整,它实际上包括所有的库和我需要的标志,而不仅仅是文件的路径;所以我假设我必须对zlib和l

c++ - unique_ptr vs 类实例作为成员变量

有一个类SomeClass,它包含一些数据和操作这些数据的方法。并且必须使用一些参数创建它,例如:SomeClass(intsome_val,floatanother_val);还有另一个类,比如Manager,它包括SomeClass,并大量使用它的方法。那么,在性能(数据局部性、缓存命中等)方面会更好,将SomeClass的对象声明为Manager的成员并使用成员初始化在Manager的构造函数中或将SomeClass的对象声明为unique_ptr?classManager{public:Manager():some(5,3.0f){}private:SomeClasssome;