草庐IT

language-cmake

全部标签

c++ - CMake 和 Visual Studio 资源文件

我正在将使用VisualStudio2005创建的C++项目转换为CMake,并且偶然发现项目中包含的资源文件存在一些问题。该项目包括一个.rc文件,一堆.ico文件和一个.rc2文件。常规.rc文件在生成的项目中工作正常,并使用资源编译器。然而,.ico和.rc2文件在刚刚包含时会导致问题,因为在生成的项目中,VisualStudio会尝试使用C/C++编译器编译它们。我假设这些文件包含在.rc文件中,因此不将它们包含在CMakeLists.txt文件中可能会起作用,但显然可以将它们列在项目(它们在原始项目中可见)我想这样做,以便生成项目的用户可以看到正在使用这些文件。在CMake中

c++ - 使用 cmake 时未创建调试符号

我在github.com/RainerKuemmerle/g2o编译了c++代码库添加后使用cmakeset(CMAKE_BUILD_TYPEDebug)以便能够调试应用程序。然后它创建了一个名为“g2o”的构建文件。但是当我尝试使用gdb进行调试时,这是我得到的输出。user2@arm_machine:~/g2o/trunk/bin$gdbg2oGNUgdb(Ubuntu/Linaro7.4-2012.04-0ubuntu2.1)7.4-2012.04Copyright(C)2012FreeSoftwareFoundation,Inc.LicenseGPLv3+:GNUGPLvers

c++ - 使用 CMake 仅构建一次外部库

我的C++项目包含第三方库的源代码(目前作为git子模块)。这个库由我们的主CMakelists通过使用add_subdirectory添加到项目中,然后库与主目标链接。这是我当前Cmake文件的简化版本:add_subdirectory(foo)set(FOO_LIBRARY${CMAKE_CURRENT_SOURCE_DIR}/libfoo/libfoo.so)add_executable(targetmain.cpp)add_dependencies(targetfoo)target_link_libraries(target${FOO_LIBRARY})这个库需要很长时间来构建

c++ - 如何在 Visual Studio 的 CMake 中获取当前配置(发布/调试)

我在VisualStudio2013、CMake3.5.1、Windows10上。我正在尝试通过CMake复制一些文件,如下所示:file(COPY${IMAGES}DESTINATION${CMAKE_BINARY_DIR}/bin/Release)是否可以用代表配置的变量替换“Release”:file(COPY${IMAGES}DESTINATION${CMAKE_BINARY_DIR}/bin/${Variable})我尝试过file(COPY${IMAGES}DESTINATION${CMAKE_BINARY_DIR}/bin/${CMAKE_BUILD_TYPE})但是CM

c++ - GitHub 上的项目需要带有 Qt4、sqlite3、cmake、git、gcc 的托管 CI 服务器

我主持了mycode(用C++编写)在GitHub上,并希望将其链接到托管持续集成(CI)服务器,如TravisCI或BuildHive.然后我希望在我的项目页面上看到“构建通过”或“构建失败”。但是当我检查这两个服务的CI环境时,TravisCI最接近gcc、git、cmake和sqlite3的可用性,但我缺少另一个关键库Qt4,它是构建我的项目所必需的。它也应该是免费的,因为它是一个免费的开源项目。请告诉我该怎么做?谢谢。我需要:gcc、git、cmake、sqlite3和Qt4。 最佳答案 下面的.travis.yml解决了我

c++ - 从代码中引用 CMAKE 变量

我在Windows上使用CMAKE3.4.3,我想做的是在CMAKE中设置一个路径,并尝试在我的C++文件中引用它。我的尝试如下:在CMakeLists.txt文件中ADD_DEFINITIONS(-DNV12_2_ARGB_PTX_DIR"${CMAKE_CURRENT_SOURCE_DIR}/ptx")现在,我尝试从我的C++文件中引用它,如下所示:#ifdefNV12_2_ARGB_PTX_DIR#definePTX_DIRD_NV12_2_ARGB_PTX_DIR#endif当我尝试将其称为:std::cout我得到错误:'C:/Users/Luca/project/src/l

c++ - 使用 CMake 构建外部项目时作业服务器不可用

我正在尝试使用ExternalProject_add在Linux上使用CMake构建一些外部项目。但是,他们不遵守make-j12命令,并发出警告:‘warning:jobserverunavailable:using-j1.Add`+'toparentmakerule.’这会痛苦地减慢我的构建速度。有没有办法并行构建外部项目?这是一个示例项目:include(ExternalProject)ExternalProject_Add(${TARGET_NAME}-extURL${CMAKE_CURRENT_SOURCE_DIR}/xerces-c-${VERSION_XERCESC}.t

c++ - 使用 CMake 创建 Qt 翻译文件

当我尝试在CMake进程中添加生成翻译的过程时遇到问题。现在我有以下CMakeLists.txt:configure_file(${CMAKE_CURRENT_SOURCE_DIR}/defines.h.cmake${CMAKE_CURRENT_BINARY_DIR}/defines.h)file(GLOB_RECURSEUI_FILES*.ui)file(GLOB_RECURSECODE_FILES*.cpp)qt5_wrap_ui(UI_HEADERS${UI_FILES})#Qt5LinguistToolsfind_package(Qt5LinguistTools)FILE(GL

SQL(Structured Query Language)简介和常见 SQL 命令示例

简介SQL(StructuredQueryLanguage)是一种用于访问和操作关系型数据库的标准语言。它是一个功能强大的语言,用于执行各种数据库操作,包括检索数据、插入新记录、更新记录、删除记录、创建数据库、创建新表、设置权限以及执行存储过程和视图等。以下是SQL的一些重要方面:SQL的目的:SQL的主要目的是与数据库进行交互。它允许您执行查询、检索数据以及管理数据库中的数据。SQL标准:SQL是ANSI(美国国家标准协会)和ISO(国际标准化组织)的标准之一。这意味着它是一个公认的标准,可在不同的数据库管理系统中使用。SQL的功能:SQL可以执行各种任务,包括从数据库中检索数据、向数据库中

C++ 模块 TS 和 CMake

我对C++模块TS很好奇。我对Clang的实现进行了一些尝试。一次只有一个或两个左右的文件。现在我想尝试比这更大的东西。我想使用CMake。有人知道是否有一些好的方法可以将Clang模块实现与CMake一起使用,或者是否已经有一些CMake模块可以帮助我解决这个问题?我真的很想知道。否则我必须考虑使用不同的构建系统。 最佳答案 我建议你试试build2:https://build2.org/build2/doc/build2-build-system-manual.xhtml#cxx-modules它支持VisualStudio、g