草庐IT

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++ - 构建 32 位库 opencv

我最近使用cmake在我的64位Windows机器上下载并构建了opencv。所有二进制文件都包含在install文件夹中,它只包含如下所示的文件夹:我不知道如何配置cmake来为x86生成二进制文件。我问这个,因为我正在使用QtCreator32bitwithMinGW并且在链接和编译代码时遇到问题。构建的正确方法是什么?我正在使用mingw编译器套件。注意:下载的包包含用于x86的预构建二进制文件,但没有用于MinGW的二进制文件,仅用于VisualStudio。 最佳答案 mingw的步骤来自此guide的cmake-gui.

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++ - 与 cmake 链接错误

我想了解为什么在编译使用CMake生成的项目时出现链接错误。CMakeFiles.txt为项目的每个文件夹构建一个静态库,然后通过以下方式将它们全部链接在一起:#rootCMakeLists.txtadd_subdirectory(subfolder1)add_subdirectory(subfolder2)add_subdirectory(...)add_executable(target${SOURCES})set(LIBRARIESLIB_FOOLIB_BAR...)target_link_libraries(target${LIBRARIES})然后在每个子文件夹中我有一个简单

c++ - 使用自己的库的 cmake undefined reference

我有以下目录结构:-project-helper-build-include-h_a.h-h_b.h-src-h_a-h_a.cpp-CMakeLists.txt-h_b-h_b.cpp-CMakeLists.txt-CMakeLists.txt-proj_c-build-src-main.cpp-CMakeLists.txt在helper项目中生成了两个库:libh_a.a和libh_b.a。libh_a.a用于构建libh_b.a。这些文件如下:helper/src/CMakeLists.txt:cmake_minimum_required(VERSION2.6)project(h

c++ - 如何在 Cmake 中使用 gcov

我在遵循本指南(我在另一篇文章中看到的推荐)时遇到困难https://github.com/bilke/cmake-modules/blob/master/CodeCoverage.cmake首先:Copythisfileintoyourcmakemodulespath.我怎么知道我的cmake模块路径是什么?UsethefunctionSETUP_TARGET_FOR_COVERAGEtocreateacustommaketarget具体是什么意思?我怎么做?具体来说,我必须在何处输入什么?我被迫使用cmake编译应用程序,否则我会使用gcc。 最佳答案

c++ - 如何将 TensorFlow Lite 构建为静态库并从单独的 (CMake) 项目链接到它?

我已经成功构建了一个运行TFLite的简单C++应用程序通过将我的源代码添加到tensorflow/lite/examples来建模,类似于theofficialC++TFguide建议完整的TF。现在我想将它构建为一个单独的项目(共享库),静态链接到TFLite并使用CMake作为构建系统。我尝试将自定义目标添加到我的CMakeLists.txt,这将使用Bazel构建TFLite:set(TENSORFLOW_DIR${CMAKE_SOURCE_DIR}/thirdparty/tensorflow)add_custom_target(TFLiteCOMMANDbazelbuild/