草庐IT

language-cmake

全部标签

c++ - 如何设置 CMake 以生成仅 header 项目?

我想设置只有header的C++(或C)库项目,但找不到干净的方法。经过一些搜索,我发现您无法使用add_library设置普通库来执行此操作,因为它需要可编译的源文件。一种方法是使用add_custom_target代替,这样:#Getallheaders(usingsearchinsteadofexplicitfilenamesfortheexample)file(GLOB_RECURSEXSD_HEADERS*.hxx)add_custom_target(libsxsdSOURCES${XSD_HEADERS})但这似乎并不完全在这里工作,因为我看不到在VS2010中生成的项目中

makefile - 为什么我被警告项目没有使用 "CMAKE_TOOLCHAIN_FILE"变量?

当我构建一些第三方代码时,我看到来自CMake的以下警告:CMakeWarning:Manually-specifiedvariableswerenotusedbytheproject:CMAKE_TOOLCHAIN_FILE是什么导致了这个警告?我检查了配置文件,但找不到定义此变量的任何地方。我应该担心这个警告吗?如何修复它以使警告消失? 最佳答案 这是CMake在您为其提供未使用的命令行选项时生成的标准警告。例如,当CMakeLists.txt文件实际上不使用FOO变量时,将-DFOO=bar传递给cmake。现在,这是一种特殊

visual-studio - 如何使用 CMake 和 Visual Studio 设置路径环境变量来运行测试

我正在使用CMake生成VisualStudio项目文件。我想在设置PATH环境变量后运行测试可执行文件,以便它能够加载所需的dll。我按照http://www.mail-archive.com/cmake@cmake.org/msg21493.html的讨论进行了尝试但它不起作用。您是否将CMake与VisualStudio一起用于此目的?请分享您的经验。此外,我找不到调试CMake脚本的简单方法,例如查看它分配给PATH变量的值。使用CMAKE_VERBOSE_MAKEFILE设置CMake详细没有帮助。我将如何自己调试它? 最佳答案

c++ - 在 CMake 中添加多个可执行文件

我在一个C++项目中的代码组织如下我有几个.cpp和.h文件,其中包含我的类我有几个.cxx文件必须针对.cpp文件和一些外部库进行编译。现在,每个.cxx文件都有一个main()方法,所以我需要为每个同名的文件添加一个不同的可执行文件文件。此外,这些.cxx文件可能不会链接到相同的外部库。我想在CMake中编写这个构建,我是一个新手,我该怎么做? 最佳答案 我的建议是分两个阶段解决这个问题:从.cpp和.h文件构建一个库,使用add_library遍历所有.cxx文件,并使用add_executable从每个文件创建一个可执行文件

CMake如何将构建目录设置为与源目录不同

我对CMake很陌生,阅读了一些关于如何使用它的教程,并编写了一些复杂的50行CMake脚本,以便为3种不同的编译器制作程序。这可能总结了我在CMake中的所有知识。现在我的问题是我有一些源代码,当我制作程序时我不想碰/弄乱它的文件夹。我希望所有CMake和make输出文件和文件夹都进入../Compile/,因此我为此更改了CMake脚本中的一些变量,并且它起作用了有一段时间我在笔记本电脑上做了这样的事情:Compile$cmake../srcCompile$make我现在所在的文件夹中有一个干净的输出,这正是我正在寻找的。现在我转移到另一台计算机,重新编译CMake2.8.11.2

boost - 如何在cmake中添加宏的定义?

我在我的C++应用程序中使用Mongodb客户端和Boost。因为Mongodb客户端仍在使用Boost旧文件系统,而我的C++应用程序使用的是boost1.47.0中的文件系统版本3,所以它们发生冲突。我找到了解决这个编译问题的方法,即在我的cpp文件中的Boost头文件的所有包含语句之前添加一个宏定义:#defineBOOST_FILESYSTEM_VERSION2但我想知道如何将上述宏的定义放入我的CMake项目文件中。 最佳答案 看看add_definitions,这会将您的定义添加到您的编译器命令行中,例如-D使用gcc,

javascript - HTML 脚本标签 : type or language (or omit both)?

/*...*/对比/*...*/应该使用哪个以及为什么?或者,第三种选择:省略其中任何一个,例如jQuery的API引用中的示例代码: 最佳答案 language属性已弃用很久,不应使用。当W3C在开发HTML5时,他们发现所有浏览器都有“text/javascript”作为默认脚本type,所以theystandardizedittobethedefaultvalue.因此,您也不需要type。对于XHTML1.0或HTML4.01中的页面,省略type被视为无效。试试validating以下:您将被告知以下错误:Line4,Co

.net - 为什么 DateTime.ToShortTimeString() 不尊重 "Regional and Language Settings"中的短时间格式?

我遇到了一个问题,这可能是由于我对DateTime.ToShortTimeString()方法的工作原理有误解。使用此函数格式化时间字符串时,我假设它会尊重Windows7格式设置中的“短时间”设置ControlPanel->Clock,LanguageandRegion->RegionandLanguage->FormatsTab.However.NETseemstoselectashorttimeformatnotbaseduponthissettingbutbaseduponthecurrentculture:RegionandLanguage->Location->Curren

Cmake 命令行参数:探索 Cmake 的设置和配置选项

CMake命令行参数前言CMake命令行参数-G:指定生成器。生成器-D:定义CMake变量。-B:指定构建目录。-E:调用CMake内置命令。其他常用参数CMake命令行参数的使用实例指定构建类型为Release:指定安装目录为/usr/local:指定使用AndroidNDK作为交叉编译工具链:指定使用C++11标准:定义CMake变量:调用CMake内置命令echo:指定构建目录:指定使用gcc编译器:指定构建共享库:指定生成的可执行文件和库文件的输出目录:指定使用Ninja生成器:指定CMake模块路径:指定导出编译命令:指定运行时动态链接库搜索路径:指定使用Clang编译器且开启优化

ElasticSearch-Query DSL(Domain Specific Language)

概述查询上下文使用query关键字进行检索,倾向于相关度搜索,故需要计算评分。搜索是ES最关键和重要的部分。相关度评分:_score概念:相关度评分用于对搜索结果排序,评分越高则认为其结果和搜索的预期值相关度越高,即越符号预期值。在7.x之前相关度评分默认使用TF/IDF算法计算而来,7.x之后默认使用BM25。排序:相关度评分为搜索结果的排序依据,默认情况下评分越高,则结果越靠前。元数据:_source禁用_source:好处:节省存储开销。坏处:不支持update、update_by_query和reindexAPI。不支持高亮。不支持reindex、更改mapping分析器和版本升级。通