草庐IT

vs-cmake-examples

全部标签

php - 使用 static::MY_CONST vs self::MY_CONST vs SomeClass::MY_CONST 引用 PHP 7 中的常量

我想一劳永逸地讲清楚。我很确定我知道何时使用self::MY_CONST和SomeClass::MY_CONST但不清楚何时使用static::MY_CONST.Youuseself::MY_CONST……当您引用常量在您调用它的同一个类中定义时。例子:classFoo{constMY_CONST=123;publicfunctionexample(){echoself::MY_CONST;}}YouuseAnotherClass::MY_CONST……当你引用一个常量在你调用它的不同类中定义。例子:classBar{constMY_CONST=123;}classFoo{public

java - 无法访问的语句 : while true vs if true

这个问题在这里已经有了答案:Unreachablestatementerrorusingwhileloopinjava[duplicate](2个答案)WhydoesJavahavean"unreachablestatement"compilererror?(8个答案)if(false)vs.while(false):unreachablecodevs.deadcode(3个答案)关闭5年前。我应该如何理解这种Java编译器行为?while(true)return;System.out.println("IloveJava");//Err:unreachablestatementif(

c++ - 在 autoexp.dat 中创建一个简单的 VS2008 可视化工具(转换问题)

我有一个混合C/C++的大型项目。我为ICUUnicodeString类创建了一个简单的可视化工具,如下所示...[insideautoexp.dat]icu_4_2::UnicodeString{preview([$c.fUnion.fFields.fArray,su])}...而且效果很好。在调试器中,只要我看到对象,我现在就会在预览行中看到里面的文本。然后我创建了一个包含这些对象之一的包装类,如下所示...classStringHandleData{public:icu_4_2::UnicodeStringstr;};...然后为此创建了另一个可视化工具...[insideaut

c++ - CMake add_library(<lib> OBJECT <src>) 有环境变量吗?

CMake是2.8.8在编译时引入了OBJECT库类型:add_library(OBJECT)。这是一个有用的构造,能够将所有类编译为.o文件,但还没有将它们添加到库中。但是,我不确定它最终附加到生成的make文件中的命令的标志是什么。基本上,在执行add_library(SHARED)命令时,它会添加CMAKE_SHARED_LIBRARY_CXX_FLAGS指定的任何标志。我希望能够只为OBJECT库指定构建标志,而不必求助于更全局的标志,例如CMAKE_CXX_FLAGS_DEBUG和CMAKE_CXX_FLAGS_RELEASE。如果存在或计划这样的标志,有人知道吗?回顾:#h

c++ - 使用 CMake、CUDA 9.0 RC 和 Visual Studio 2017 安装带有 contrib 模块的 OpenCV 3.3.0

我正在尝试使用最新的CUDA9.0RC安装带有contrib模块的OpenCV3.3.0,因此它与MicrosoftVisualStudio2017兼容。CUDA安装很简单,并成功集成到VS2017中。我正在根据各种在线说明使我能够在没有CUDA的情况下成功构建contrib模块。但是,当我运行CMake时(确保我将其设置为VS2017x64,请参阅:CMake:CUDAlibrariesnotfoundwhencompilingOpenCV),我得到了经典的:CMakeError:Thefollowingvariablesareusedinthisproject,buttheyare

c++ - {} vs. () 类成员的初始化

这个问题在这里已经有了答案:Uniquepointerin-classinitialization(2个答案)关闭7年前。我不明白为什么下面的代码可以编译?structA{A(int);};structB{Aa{1};};但这不是:structA{A(int);};structB{Aa(1);};错误:数字常量前需要“,”或“...”编译器不接受第二种形式有什么原因吗?我知道最令人烦恼的解析歧义,但我不认为这个问题是相关的。编辑:正如Bo在下面的评论中所解释的那样,我错了。毕竟这个问题是与令人烦恼的解析有关。我在gcc-5.1.0上用--std=c++11试过这个

c++ - 基于构建配置的链接库[cmake]

这个问题在这里已经有了答案:关闭9年前。PossibleDuplicate:DebugandReleaseLibraryLinkingwithCMAKE(VISUALSTUDIO)这里cmakenewb,我想告诉target_link_libraries在使用debug配置时链接一个debuglib,在release配置下编译时链接一个releaselib。我如何告诉cmake为调试配置链接不同的lib文件?

C++ - *p vs &p vs p

我仍在努力理解*p、&p和p之间的区别。根据我的理解,*可以被认为是“指向的值”,而&可以被认为是“地址”。换句话说,*保存值,而&保存地址。如果这是真的,那么*p和p之间的区别是什么?难道p不是像*p一样保存某物的值吗? 最佳答案 *运算符用于间接寻址。间接意味着p中的值被解释为内存地址,并加载该地址处的值。p是p的值,而*p是存储在p指向的内存位置的值。当你想间接访问一个整数i的值时,你可以让一个整数指针指向它(int*p=&i)并使用那个指针修改i的值是间接的(*p=10)。 关于

c++ - 'CreateDirectoryW' : cannot convert parameter 1 from 'const char *' to 'LPCWSTR' in OpenCV 2. 4.5 和 VS 2010

我正在尝试从openCV2.4.5到VisualStudio2010(基于VC++)的示例代码bagofwords_classification.cpp。但是我发现了错误代码:errorC2664:'CreateDirectoryW':cannotconvertparameter1from'constchar*'to'LPCWSTR'你能帮我解决那个问题吗?谢谢。:)更新v1:staticvoidmakeDir(conststring&dir){#ifdefinedWIN32||defined_WIN32CreateDirectory(dir.c_str(),0);#elsemkdir

c++ - 如何尽可能干净地使用 VS C++ GetEnvironmentVariable?

(与其说这是一个学究气的练习,不如说是个问题,所以就这样吧。)我制作了一个很好的小程序,它是我的linux操作系统的native程序,但我认为它也足够有用,可以存在于我的Windows机器上。因此,我想访问Windows的环境变量,MSDN引用了这样一个例子:constDWORDbuff_size=50;LPTSTRbuff=newTCHAR[buff_size];constDWORDvar_size=GetEnvironmentVariable("HOME",buff,buff_size);if(var_size==0){/*fine,somefailureornoHOME*/}el