草庐IT

vs-cmake-examples

全部标签

c++ - VS2013中的SFINAE

我有一个函数模板forwardMaybeNull。我希望它可以在第一个参数不是nullptr时转发它,如果第一个参数是nullptr则只返回第二个参数。template::value>...>U&&forwardMaybeNull(std::nullptr_t,U&&rvalue_default){returnstd::move(rvalue_default);}template::value>...>T&&forwardMaybeNull(std::remove_reference_t&arg,U&&){returnstatic_cast(arg);}template::value>

c++ - 嵌套类声明 : template vs non-template outer class

我有一个C++模板类,里面有一个嵌套类,比如:templateclassOuter_t{public:classInner;Inneri;};templateclassOuter_t::Inner{public:floatx;};intmain(){Outer_to_t;//3oranyarbitraryinto_t.i.x=1.0;return0;}编译没有任何问题。然而,一旦我声明了一个类似的非模板类,就像这样:classOuter_1{public:classInner;Inneri;};classOuter_1::Inner{public:floatx;};intmain(){

c++ - 将 CMake 变量传递给 ExternalProject_Add

我正在使用带有ExternalProject_Add的CMake构建外部库。我使用了答案here生成以下内容(捕获命令行输入到CMake以便将其传递给ExternalProject_Add命令):get_cmake_property(CACHE_VARSCACHE_VARIABLES)foreach(CACHE_VAR${CACHE_VARS})get_property(CACHE_VAR_HELPSTRINGCACHE${CACHE_VAR}PROPERTYHELPSTRING)if(CACHE_VAR_HELPSTRINGSTREQUAL"Nohelp,variablespecif

c++ - 在 VS2010 调试器中可视化 OpenCV 图像

对于VS2012,优秀的ImageWatch扩展可用,它允许您在调试期间查看cv::Mat的实际图片。但是,不幸的是,它需要VS2012。有没有办法在VS2010中可视化cv::Mat?我知道https://bitbucket.org/sergiu/opencv-visualizers,但它们只是更好地格式化数据,它们不会像ImageWatch那样将其显示为图片(或者我找不到选项/标签?)。那么在VS2010中不可能做到这一点吗? 最佳答案 我找到了一个可以执行此操作的扩展程序。它称为NativeViewer。关注theirquic

c++ - 架构 x86_64 的 undefined symbol : OS X, Boost Log,CMake

链接的另一个问题OSX10.9.5x64跨平台项目正在使用CMake工具链构建。使用boost。将所有可执行文件与BoostLog链接时出错(肯定找到了BOOST_PATH,单元测试与Boost测试链接成功)首先尝试。使用Clanggcc-vAppleLLVMversion6.0(clang-600.0.56)(basedonLLVM3.5svn)Target:x86_64-apple-darwin13.4.0Threadmodel:posix建筑boost./bootstrap&&./b2threading=multilink=staticruntime-link=staticins

c++ - CMake add_compile_options 在适当的时候会影响链接器选项吗?

一些编译器选项实际上可能需要额外的链接选项才能真正有效。例如,启用GCC'sLinkTimeOptimization,-flto选项必须在编译命令和链接命令中传递。有一个漂亮的builtincmakecommand用于添加编译选项,但据我所知,没有相应的链接选项命令。即使有,当我使用的编译选项暗示它们时需要明确指定它们也会很烦人。那么add_compile_options(-flto)是否将-flto添加到link命令?如果没有,我是否需要直接设置(LINK_FLAGS....? 最佳答案 add_compile_options和t

c++ - CMake 找不到 OpenCV 库

与此类似question,我在OSX10.10.3上使用OpenCV和CMake时遇到问题。经过一番折腾,我终于在我的系统上构建了OpenCV3.0beta;header现在驻留在/usr/local/include中,而libs——正如它们应该的那样——位于/usr/local/lib中。我有一些使用OpenCV的小程序,我的CMakeLists.txt看起来像这样set(CMAKE_CXX_FLAGS"-O3-w")find_package(OpenCVREQUIRED)if(OpenCV_FOUND)message("FoundOpenCV")message("Includes:

c++ - Clion:如何正确地将图像、xml、资源...添加到 cmake

我试过复制但没有在每次构建时更新 最佳答案 为此,我在Cmake中使用了configure_file命令,因此文件被复制到构建目录。每次修改文件时都会这样做。configure_file(config.xmlconfig.xmlCOPYONLY)http://www.cmake.org/cmake/help/v3.0/command/configure_file.html 关于c++-Clion:如何正确地将图像、xml、资源...添加到cmake,我们在StackOverflow上找到

c++ - 从 VS 2012 中的 lambda 返回值构造 std::function 时崩溃

此C++代码使用VS2012成功编译但在运行时崩溃:#include#includevoidf(){std::coutfilter(get_f());//crashhere!!!return0;}如果我们将get_f更改为:autoget_f=[](){returnf;};然后程序运行没有崩溃。是这段代码的问题还是编译器/标准库的bug?我没有使用较新版本的VisualStudio进行测试。 最佳答案 在我看来,这像是标准库(或可能是编译器)的问题。使用VS2013,它可以毫无问题地编译和运行。如果我们添加代码来调用同样运行的fil

c++ - VS2013 错误 : LNK2019 When trying to build ZeroMQ server

我正在尝试在VisualStudio2013上用C++构建这个简单的ZeroMQ服务器。#include"stdafx.h"#include"zmq.hpp"#include#include#includeusingnamespacestd;int_tmain(intargc,_TCHAR*argv[]){//Preparecontextandsocketzmq::context_tctx(1);zmq::socket_tsckt(ctx,ZMQ_REP);sckt.bind("tcp://*:5555");while(true){zmq::message_trequest;//Wai