gpt4 book ai didi

c++ - 自定义编译标志以启用特定功能

转载 作者:行者123 更新时间:2023-11-28 01:42:38 25 4
gpt4 key购买 nike

我有一个 Qt 项目,它需要一个库 (gphoto2) 来启用一些非必需的功能。我想在我的 qmakemake 调用中添加某种配置选项以启用使用此库的功能,这样我就可以在不安装它的情况下进行编译。

配置这样的东西的最佳方法是什么?我想我需要一些方法来添加基于编译器参数的定义,我可以使用 #ifdef ...

在我的代码中查询它

最佳答案

我假设您使用make(没有qmake)。价格合理,相当好用GNU make (单独)在 Qt 项目上。您可以使用其他一些 build automationninja这样的工具.

然后您可以决定通过使用 -DWITH_GPHOTO 编译代码并在 C++ 代码中使用 #if WITH_GPHOTO 来启用 Gphoto 功能。

您将通过添加

进行编译
CXXFLAGS+= -DWITH_GPHOTO

在你的 Makefile

我不会称其为“自定义编译器标志”(例如 GCC plugins 可以提供),而是预处理器标志。这是非常标准的做法。

也许您还想将此类标志传递给 moc .然后您的 Makefile 通过一些您也可以定制的规则和命令运行 moc

顺便说一句,您可能会考虑 GNU autoconf或其他一些 Makefile 生成器,例如 cmake。我认为你不应该花太多时间在这些...

附言。我不知道这个想法是如何转化为 qmake 的,让你自己去发现。

关于c++ - 自定义编译标志以启用特定功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46544314/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com