能否将Gtk +应用程序编译为同时在Gtk 2和3上运行

问题描述 投票:0回答:1

我想构建一个同时在Gtk 2和Gtk 3环境上运行的应用程序。我有什么选择?

  • 有两个单独的项目吗?
  • 有两个单独的构建步骤吗?
  • 可以构建单个可执行文件,使其能够在两种环境中运行吗?

我在Linux机器上将C ++与cmake一起使用。

c++ c gtk gnome
1个回答
0
投票
  • 有两个单独的项目吗?

当然是一个选择。

  • 有两个单独的构建步骤吗?

也是,但是这里的主要目标是产生两个不同的二进制文件(尽管不一定都是两个独立的可执行文件,请参见下文)。

  • 可以构建单个可执行文件,使其能够在两种环境中运行吗?

是,但是这样做并不简单。您构建的每个二进制文件都将链接到特定的库。不能这样,因为v2和v3库之间存在名称冲突。

但是,如果您愿意抽象化Gtk用法,以便提供可插入的后端,则可以同时提供Gtk + 2和Gtk + 3后端。还有其他。但是,这并非易事,特别是如果您已经使用Gtk直接调用编写了应用程序。

© www.soinside.com 2019 - 2024. All rights reserved.