问题标签 [cmake]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
cmake - CMake 中的 Makefile 等效项
我刚刚开始使用 CMake,不到一周。我写了一个 Makefile,我正在尝试在 CMake 中编写它的等价物。对于给定 Makefile 中的每个语句,我不知道应该在 CMake 中使用的命令。我该如何开始?有什么地方可以找到这方面的文档吗?
c++ - 为什么不包含这个boost头文件
我正在 Mac 上使用 cmake 构建我的 c++ 程序。编译器给了我以下错误:
触发错误的行如下:
或者
我使用以上哪一项不会改变错误
但是在我的 CMakeLists.txt 中,我通过以下方式包含了 boost 标头:
Boost 包含目录在 cmake 过程中填充有“/opt/local/include/”,并且此文件夹包含一个文件夹 boost,其中包含 filesystem.hpp
Boost 在生成 Makefile 时给出以下消息,我只复制了 boost 部分:
运行时 make VERBOSE=1 此行包含错误:
你明白为什么编译器没有选择 /opt/local/include 目录吗?
如果您需要更多信息,我很乐意提供
c++ - 如何使用 cmake 链接 boost.system
我使用 cmake 生成的 makefile 来编译依赖于 boost 文件系统库的 c++ 文件。
在链接过程中,我收到以下错误:
生成此错误的生成文件中的操作是这一行:
一些谷歌搜索告诉我,这个错误似乎在带有 boost 文件系统库的 mac 上很常见,因为我必须链接到 boost.system 库或使我的项目依赖于 boost.system 库。
如何在不硬编码库路径的情况下强制 cmake 链接库?
这是 otool 的结果:
c++ - 多平台 C++ 项目:包含特定于平台的源
对于我的一些类,每个操作系统都有不同的实现。
我的源结构是这样的:
- 包括/AExample.h
- 包括/windows/WindowsExample.h
- 包括/linux/LinuxExample.h
- src/AExample.cpp
- src/windows/WindowsExample.cpp
- src/linux/LinuxExample.cpp
A* 类是特定实现的接口
我当前的构建系统是 cmake - 但目前它只能构建 linux 版本。
在 windows 构建中,我只需要包含 windows/* 文件,在 linux 上只需要包含 linux/* 文件
我需要
- 仅包含与我当前构建相关的文件
- 当我需要 AExample 的实例时选择正确的实现
您可以推荐哪些技术以专业的方式实现这一点?
c++ - 在 Windows 和 Linux 上构建 C++
我参与了针对 Windows 和 Linux (RHEL) 平台的 C++ 项目。到目前为止,开发完全是在 Visual Studio 2008 上完成的。对于 Linux 编译,我们使用了第 3 方 Visual Studio 插件,它读取 VS 解决方案/perojects 文件并在 Linux 机器上远程编译。
最近决定放弃 3rd 方插件。
现在我最关心的是构建系统。我一直在寻找跨平台构建工具。这样我就不需要维护两组构建文件(例如 vcproj/solution for Windows 和 make files for Linux)。
我找到了以下候选人:斯康 B. 制作
您如何看待跨平台开发的工具?
还有一点让我感到困扰的是,如果没有 vcproj 文件,Visual Studio(+ Visual Assist)会失去很多功能——你如何使用这些工具来处理这个问题?
谢谢迪玛
PS 1:我喜欢 Scons 的一点是它(a)使用 python,因此它很灵活,而 cmake 使用专有语言(我知道它不是构建系统的赢家功能)(b)自包含(不需要在 Linux 上生成 makefile,就像使用 cmake 一样)。
那么为什么不是斯康斯呢?为什么在您的项目中决定使用 cmake?
linux - QT_DIR 未找到
我正在尝试用 ITK 编译 Qt 4.5.2。我收到错误 QT_DIR not found。我从 Source 编译了 QT 4.5.2。ccmake 告诉包含 QTConfig.cmake 文件的目录是 QT_DIR。我无法在任何地方找到该文件。我错过了什么吗?
这是我在 CMake 中遇到的错误:
CMakeLists.txt:11 (FIND_PACKAGE) 处的 CMake 警告:找不到模块 FindQT.cmake 或包 QT 的配置文件。
调整 CMAKE_MODULE_PATH 以找到 FindQT.cmake 或将 QT_DIR 设置为包含 QT 的 CMake 配置文件的目录。该文件将具有以下名称之一:
我已将 PATH 设置为 CMAKE_MODULES_PATH 以查找 FindQT.cmake ...但我没有找到 QTConfig.cmake 为 QT_DIR 设置 PATH ...
请帮我解决这个问题..
感谢您。
c++ - 使用 Visual Studio 2008 进行跨平台编译
鉴于:
- 超过 500K LOC 的 C++ 代码库
- 用于 Windows (Visual Studio 9 2008) 和 Linux (RHEL) 的基本代码相同
开发过程中最常见的任务当然是编辑/编译/修复(因此我们喜欢编程:))。我们的大多数开发人员都只有 Visual Studio 背景,恕我直言,它非常强大。
有没有办法从 VS 中远程在 Linux 机器上编译?
我找到了这个站点和这个其他站点,但是 Visual Studio 9 2008 不支持 nmake,而我需要添加命令行以至少构建/重建和清理。我发现我可以将一个命令添加为预构建事件或外部工具(Menu->Tools->...)。但它只有 1 个命令,而我需要 3 个命令。
也许还有其他方法?
谢谢迪玛
_
c# - 构建系统的选择?
我目前正在建立一个新的软件项目,我想要一个自动构建系统。该项目有相当复杂的涉及C、C#。它还必须使用外部工具 (SWIG) 生成自动绑定(Python、PHP、Java、Ruby 等)。
该项目应该能够在 Linux、Windows 和可能的 Mac OS X 中构建和运行。
我研究过 CMake、autotools 和 waf。有人有什么建议吗?
cmake - 如何配置cmake编译informix *.ec文件?
我刚刚找到 cmake,我想用它为一个使用 esql 编译器的小项目创建 make 文件。