草庐IT

cmake_link_libraries

全部标签

c++ - 如何使用CMake生成Windows 10通用项目

我正在尝试使用CMake为Windows10生成VisualStudio15项目C++静态库。它应该可以在手机上使用,所以我认为它应该支持Windows应用商店。我可以设置任何标志吗?我找到了https://github.com/Microsoft/CMake,它是Microsoft的CMake分支,但我找不到如何使用它来启用通用应用程序支持的线索。使用“正常”cmake,当我打开对Windows站点的支持时,出现错误:errorMSB3843:Project"project1"targetsplatform"Windows",butreferencesSDK"VisualC++201

c++ - 在 CMake 中链接 C 和 CXX 文件

我正在使用CMake构建C++应用程序。但是它使用了一些C中的源文件。这是简化的结构:trunk/CMakeLists.txt:project(myapp)set(CMAKE_CXX_FLAGS"${CMAKE_C_FLAGS}-g-Wall")add_subdirectory(srcmyapp)trunk/src/main.cpp:#include"smth/f.h"intmain(){f();}trunk/src/CMakeLists.txt:add_subdirectory(smth)link_directories(smth)set(APP_SRCmain)add_execut

c++ - LNK2019 当包含 asio header 时,使用 cmake 生成的解决方案

我正在尝试使用cmake和boost库将一个大项目从gcc(Linux)移植到msvc(windows)。该项目在gcc上编译和运行良好,但在msvc上它返回以下错误:Dyna.obj:errorLNK2019:unresolvedexternalsymbol"void__cdeclboost::throw_exception(classstd::exceptionconst&)"(?throw_exception@boost@@YAXABVexception@std@@@Z)referencedinfunction"void__cdeclboost::asio::detail::do

c++ - 使用 CMake 添加仅 header 依赖项

我有一个简单的项目,需要三个仅包含头文件的库才能编译:websocketpp,spdlog和nlohmann/json.项目结构如下:└──src├──app│  ├──CMakeLists.txt│  ├──src│  └──test├──CMakeLists.txt├──core│  ├──CMakeLists.txt│  ├──include│  ├──src│  └──test└──vendor├──install.cmake├──nlohmann_json├──spdlog└──websocketpp根CMakeLists.txt如下:cmake_minimum_requir

android - 将 gcc 命令转换为适用于 android ndk 的 CMake

我需要添加一个可以用gcc编译的c工程如下gcc-I/usr/include/epic5.1-I/usr/include/i386-linux-gnu/epic5.1-I./smproject/-ocodecode.c./smproject/smlib.so-lepic5.1我已将code.c文件内容移动到我的AndroidNDK.cpp文件(src/main/cpp/native-lib.cpp)并将所有文件移动到smproject目录到src/main/cpp/smproject/目录这是我的CMakeList.txt内容#FormoreinformationaboutusingC

c++ - 在 CMake 中制作自定义中间体(改进 C 可编译测试器)

所以我们混合了C++/C项目。我想强制执行这一点,即使所有源文件都是.cpp(C++编译),扩展名为“*.h”的源文件是C可编译的(仅对C++文件使用*.hpp)。我想在编译时强制执行它,以便构建返回一个错误(与项目相关,带有完整的行号和C错误和警告)。在配置时运行(恕我直言)只能取得有限的结果。所以我目前有一个脚本可以做到这一点:cmake_minimum_required(VERSION2.8)MACRO(MAKE_C_COMPILE_TESTERproject_nametarget_sourcescvar)SET(CMAKE_CONFIGURABLE_FILE_CONTENT""

c++ - 如何在我的项目中将 *standard library* 函数/方法标记为已弃用(或完全禁用)?

我正在尝试以某种方式禁用/标记为已弃用的丑陋std::string::operator=(char)重载(根据我的经验,仅在错误地将整数分配给字符串时才使用它,并导致微妙且难以跟踪的错误)。我试过:其中包含静态断言的显式特化#include#includetemplatestd::basic_string&std::basic_string::operator=(charc){static_assert(false,"Don'tusethis!");}失败为已经显式实例化了std::string[[deprecated]]属性,在不同位置应用于与上述类似的声明;我尝试过的任何立场似乎都

c++ - 将预编译的tensorflow与cmake一起使用

我在CLion中设置了一个使用CMake的C++项目。我正在使用各种第3方库,并且还想集成Tensorflow。我试过bazel将Tensorflow编译成一个共享库libtensorflow.so哪种方法可行,但是仍然有很多我必须修复的依赖项(例如,当前的protobuf版本,一旦我这样做了,就会有更多)。有没有办法使用标准的Tensorflowgit存储库并以某种方式链接为python使用而预编译的库?或者有其他方便的方法吗?Python中的Tensorflow非常适合我。 最佳答案 我知道这个答案已经很晚了,但我遇到了你的确切

c++ - 通过相对路径c++ cmake guest查找单元测试的外部测试文件

为C++项目的单元测试访问外部测试文件的正确方法是什么?我正在使用CMake和Gtest。这是目录结构的示例。Project-src-test(unittestshere)-test-data(datafilehere)谢谢! 最佳答案 我更喜欢查找与可执行测试相关的测试数据。为此,我通常在一些TestHelpers.h中定义一个辅助方法,然后传递我要解析的文件的相对路径。inlinestd::stringresolvePath(conststd::string&relPath){namespacefs=std::tr2::sys;

c++ - 什么是 "orthogonal linked list"?

我明白什么是链表,但我的问题是什么是正交链表?我在网上搜索但找不到任何有用的信息。最近在研究C++中的likedlist,如果有关于链表的好书请指点。 最佳答案 这不是一个很常见的术语,但是,根据theDictionaryofComputing,它是一个多维链表,其元素包含指向每个维度中邻居的指针。取一个简单的矩阵:123456789然后,元素5将有一个指向4和6的指针,但也指向2和8。以下问题可能对C++书籍有帮助:TheDefinitiveC++BookGuideandListhttps://stackoverflow.com/