草庐IT

cmake_link_libraries

全部标签

c++ - 将 CMake 与 Qt5 和 Qt 插件一起使用

我想避免使用qmake和.pro文件。问题是我无法让cmake与QtPlugins很好地协同工作。我已经包含了下面的代码,显示了对给定的.pro文件可以正常工作的接口(interface)、插件、加载程序,但我不知道如何将此功能传输到cmake。插件接口(interface)加载器已知的纯虚拟接口(interface)。#includeclassHelloPluginInterface{public:virtualvoidDoSomething()const=0;};Q_DECLARE_INTERFACE(HelloPluginInterface,"com.harbrick.Qt.He

c++ - 在 OSX 10.11(CLion 1.1 中的 CMake 3.3)上使用 SDL2 和 SDL2_image

我正在关注reddit.com/r/limeoats中的一些教程,以学习一些使用C++进行的游戏开发。我没有使用CMake或CLion的经验,到目前为止我已经设法用谷歌搜索了。在将OSX更新到ElCapitan(10.11)之前,我一切正常。好像不能再用#include"SDL2/SDL.h"了但需要使用#include"SDL.h"然后它可以找到SDLheader。当我也使用#include"SDL_image.h"时问题就来了我收到以下编译器错误:/Library/Frameworks/SDL2_image.framework/Headers/SDL_image.h:27:10:f

c++ - 代码解析不适用于 CUDA、Clion 和 CMake

我有一个分为模块的项目,这是一个虚拟示例:根CMakeLists.txt模块工具CMakeLists.txt来源util_file.cpp库达CMakeLists.txt来源cuda_file.cu如果我使用CLion编辑cuda_file.cu,CLion将无法解析所有符号(甚至包括标准库中的符号)。所有代码完成/创建功能当然都消失了(除其他外)。问题似乎是,每当您创建仅包含CUDA文件的库或可执行文件时,Clion就会变得愚蠢并且不再解析或解析任何内容。我发现了两种解决方法,但它们使用起来不友好或“干净”:将一个空的.cpp文件添加到目录并将其添加到add_library()CMa

c++ - CMake:修改共享库时的冗余链接

我从事的项目由几十个共享库组成,每个共享库都有许多关联的单元测试。许多库还依赖于其他库,因为某些特定功能的库将使用来自更常见库之一的代码。最后当然还有依赖库的生产可执行文件。毫无疑问,某些核心公共(public)库的API(头文件)的更改应该会触发几乎整个系统的重大重新编译。但通常只在实现上有变化,唯一编译的文件是修改后的.cxx,理论上只需要链接修改后的库——多亏了动态链接,应该不需要重新链接任何其他东西。但是CMake继续执行它:在重新链接lib之后,它会重新链接与该lib关联的所有单元测试。然后它重新链接该库的依赖树中的所有库及其所有单元测试。最后它重新链接生产可执行文件。由于项

c++ - 对于可重定位的多平台安装,理想的 cmake 安装目录结构是什么?

CMake安装采用目标目录,通常使用GNUInstallDirs加载目标名称的标准值。例如:include(GNUInstallDirs)install(TARGETSFooEXPORTFooINCLUDESDESTINATION${CMAKE_INSTALL_INCLUDEDIR}RUNTIMEDESTINATION${CMAKE_INSTALL_BINDIR}ARCHIVEDESTINATION${CMAKE_INSTALL_LIBDIR}LIBRARYDESTINATION${CMAKE_INSTALL_LIBDIR})但是它不提供针对不同平台或架构构建的不同路径。我一直在通过C

如何将CMAKE用于Fortran和C ++?

我是Cmake的新手,似乎很难获得我的脚本工作。我的代码可以以通常的方式编译,但我确实需要使用CMAKE。我编译以下内容:g++vectc.cpp-c-std=c++11gfortranvectf.fvectc.o-lstdc++这个cmakelists.txt,这对我不起作用:cmake_minimum_required(VERSION2.6)project(add_vectorsCXXFortran)enable_language(Fortran)set(CMAKE_CXX_FLAGS"-c-std=c++11")set(CMAKE_Fortran_FLAGS"CMakeFiles/exe

c++ - 替代 CMake

我在visualstudio中使用CMake构建规则来预处理我的文件,然后再将它们提交给编译器,但我的客户不喜欢它。是否有任何CMake替代方法或方法来预处理我的文件并将它们集成到visualstudio中? 最佳答案 据我了解,您正在使用CMake生成您手动创建的VS项目使用的文件。无论出于何种原因,您的VS项目的客户都不喜欢CMake。据推测,您已经通过创建调用CMake以生成项目中的文件的自定义构建步骤来连接它,或者作为项目上的构建事件,或者作为项目中各种文件的自定义构建步骤,例如脚本的输入。VS允许您运行任意一组命令作为构建

C++11 Xcode 5 : linking error

在Xcode5上进行cocos2d-x2.2.0开发。试图让C++11工作,但出现了一些链接错误。非常感谢任何建议。项目在github.下面是C++11配置(stackoverflowreference)。除了默认库之外,我还链接了libstdc++.6.0.9.dylib和libz.dylib库。错误构建日志为here. 最佳答案 在我将目标更改为我的设备而不是模拟器之后。它刚刚起作用。谁能解释一下?====更新====(11-08-2013)我还像项目一样将cocos2dx目标语言设置配置为c++11,并且仅针对coco2dx目

c++ - 如何使静态导入库依赖于CMake中的另一个静态导入库?

我希望我的项目中很少更改的某些部分被静态编译并“安装”在单独的目录中。这是必要的,因为由于项目的某些细节,它经常必须从头开始重新编译(删除整个构建目录)。在单独的目录中“安装”静态链接库将显着减少构建时间。我一开始有什么。假设LibA很少更改,我希望它只安装一次,而不是在大多数项目构建期间重新构建。LibA依赖于一些第3方导入的库LibC。项目还包含经常更改并依赖于LibA的LibB。CMakeLists.tst(LibB):target_link_libraries("LibB"LibA_build)CMakeLists.tst(LibA):add_library(LibA_buil

c++ - CMake 相当于 Visual Studio 的 Property Sheets (.vsprops)

我正在尝试从VisualStudio迁移到Jetbrains(很棒)CLionIDE使用CMake组织项目。到目前为止,过渡一直很顺利:创建CMake项目并将它们导入CLion很容易,我可以在一个平台上开始编码,然后在另一个平台上继续,没有任何问题。但是,我在CMake中找不到对应的VisualStudio的一个方面是propertysheets:我主要使用它们来保存包含目录的路径和库的链接库(即每个库一个.vsprops文件,例如OpenCV.vsprops,Boost.vsprops等)。这样,在VS中,我可以在不同项目之间共享库的.vsprops文件,而无需每次都配置路径/库。C