草庐IT

CMAKE_C_COMPILER

全部标签

c++ - 使用 g++ 和 CMake 损坏的配置文件信息

我正在尝试使用分析优化一个相当复杂的C++项目(多个源文件,链接到Boost库、GSL和OpenCV)。使用CMake,我首先编译set(CMAKE_CXX_FLAGS"-O3-ffast-math-fprofile-generate=profiling-pg-fopenmp")在使用典型输入运行生成的可执行文件后,我编译set(CMAKE_CXX_FLAGS"-O3-ffast-math-fprofile-use=profiling-fopenmp")编译失败,出现大量类似这样的错误:/n/user/projects/project_name/src/foo.cpp:Inmember

c++ - Cmake 外部库.a

我这里有一个外部库:${PROJECT_SOURCE_DIR}/thirdparty/yaml-cpp/它是由Makefile制作的:thirdparty/Makefile。我正在像这样执行该makefile:add_custom_target(yaml-cppCOMMANDmakeWORKING_DIRECTORY${CMAKE_SOURCE_DIR}/thirdparty)然后我尝试链接构​​建到thirdparty/yaml-cpp/build/libyaml-cpp.a的库。这是不起作用的部分:target_link_libraries(load_balancer_node${

c++ - 使用 CMake 将 qt header 声明为系统 header

我用CMake和qt说:find_package(Qt5COMPONENTSWidgets)另外,我想使用高警告级别并且我想将警告视为错误。所以我使用:set(CMAKE_CXX_FLAGS"${CMAKE_CXX_FLAGS}-Werror-Wall-Wextra")但是,我不关心我使用的库中的警告。因此,例如,为了包含boost,我在include_directories调用中添加了SYSTEM,这样我就不会被来自外部库的警告所困扰:include_directories(SYSTEM${Boost_INCLUDE_DIR})但这对qt不起作用,因为没有显式的include_dir

c++ - 使用 cmake、clang 和 llvm 为 visual studio 构建工具链

我在谷歌上搜索了很多,但没有找到合适的答案,所以我在这里问。要从现有代码开发一个应使用cmake和clang编译的c++项目,我需要采取哪些步骤?我还想拥有所有不错的功能,例如自动完成和使用断点进行调试以及逐步调试。 最佳答案 查看与VisualStudio集成的Windows构建的最新LLVM快照页面here.有一个安装程序和一个代码格式化插件。您不会获得自动完成功能,并且Clang/LLVM与VisualStudio中的调试无关(除了如果您使用Clang编译它可能无法工作)。另见thisinterestingblogpost在拥

c++ - Cmake 生成独立的makefile

我们正在从MPC移动到CMake。我们提供了一个带有一些示例的库。示例随makefile一起提供。问题是cmake生成的makefile包含绝对路径但不包含相对路径:#Themainalltargetall:cmake_check_build_systemcd/.../Projects/cpp_trunk&&$(CMAKE_COMMAND)-Ecmake_progress_start/.../Projects/cpp_trunk/CMakeFiles/.../Projects/cpp_trunk/samples/CMakeFiles/progress.makecd/.../Projec

c++ - 如何允许用户重新配置编译器以与 cmake 一起使用?

我想让用户运行一个cmake配置工具(例如ccmake或cmake-gui)来更改使用的编译器。这是必要的,因为我正在构建一个有时在集群上运行的跨平台程序(因此需要具有适当MPI构造的特定于集群的编译器)但有时在非MPI模式下运行。让我们假设编译器通常可以是平台期望的任何编译器(通常是gcc/g++或在最坏的情况下是MSVC),但是当我们使用MPI时,我们总是知道我们需要通过mpicc/mpicxx进行编译。我觉得下面的代码应该可以工作:cmake_minimum_required(VERSION2.4)option(USE_MPI"IsthisonanMPIsystem?"OFF)i

c++ - CMake 在 include_directories 中找不到正确的头文件/包含文件

当我尝试编译时,我再次收到“undefinedsymbolsforarchitecturex86_64”错误。我已经尝试了比我在这篇文章中实际记录的更多的东西(因为我已经忘记了我尝试过的所有内容)。这是一个非常简单的设置,应该使用CMake很容易编译...当我对此运行make时,它​​工作得很好。但我想将其转换为CMake以实现互操作性。如您所见,我在几个地方放置了“${HEADERS}”变量,我已经尝试了很多位置,但我一直收到错误。根据我放置${HEADER}的位置,它在技术上还可以生成“错误:生成多个输出文件时无法指定-o”的错误(如果它仅位于target_link_library

c++ - 我如何使用 CMake 按需构建 wxwidgets 并与之链接

我有以下情况:我正在开发一个依赖于许多第三方库的应用程序,其中包括wxwidgets我使用Linux作为我的构建主机系统为多个目标配置(x86、arm、Linux、Windows)构建应用程序由于上面提到的多个目标配置,我选择使用CMake的ExternalProject_Add函数从源代码构建这些第三方库。第三方库是在与我的应用程序的CMAKE_BINARY_DIR分开的位置“按需”构建的,这样我就可以删除我的应用程序的构建树,而不必重建第三方库(需要很长时间)。第三方库的位置因我构建它们的目标配置而异(很明显)。我是CMake的新手,我目前面临的问题是:我的应用程序中的源文件找不到

c++ - 如何在 CMake 的 CXX_FLAGS 中包含 `pkg-config --cflags --libs gtk+-2.0`

这是Makefile中的CFLAGS。CFLAGS=-I/usr/include/libglade-2.0-I/usr/include/gsl`pkg-config--cflags--libsgtk+-2.0`-lglade-2.0-lglut-I/usr/local/include/dc1394-ldc1394我想使用CMAKE而不是Makefile。这部分是我写的CMakeLists.txt文件。find_package(PkgConfigREQUIRED)pkg_check_modules(GTKREQUIRED"gtk+-2.0")#Addthepathtoitsheaderf

c++ - CMake:多库包导出中的依赖管理

我有一个名为MYLIBS的包,包含两个库,lib1和lib2,我想通过配置文件导出它们包裹。项目结构如下:├──Lib1│├──CMakeLists.txt│├──lib1-class.cpp│└──lib1-class.h├──lib2│└──CMakeLists.txt│├──lib2-class.cpp│├──lib2-class.h├──cmake│└──LIBSConfig.cmake.in├──CMakeLists.txt在lib2我有:add_library(lib2STATIC${SOURCE_FILES})target_include_directories(lib2