我是靠谱客的博主 懦弱母鸡,这篇文章主要介绍CLion开发GTKmm界面应用的Cmake配置文件参考,现在分享给大家,希望可以做个参考。

写在前面

这里我用的是gtkmm-4.0, 根据官方文档, 其相应的测试样例(最简单的一个程序,用于生成一个200*200的窗口)如下:

#include <gtkmm.h>

// 定义一个窗口类
class MyWindow : public Gtk::Window
{
public:
  MyWindow();
};

MyWindow::MyWindow()
{
  // 设置窗口标题
  set_title("Basic application");
  // 设置窗口默认大小为200*200px
  set_default_size(200, 200);
}

int main(int argc, char* argv[])
{
  auto app = Gtk::Application::create("org.gtkmm.examples.base");
  return app->make_window_and_run<MyWindow>(argc, argv);
}

CMakeLists文件

下面是CMakeLists文件的具体内容, 其实相当于用CMake的语法重写了一遍g++的编译命令:

g++ main.cc -o gtkmm_proj -std=c++17 `pkg-config gtkmm-4.0 --cflags --libs`

一开始我并不熟悉CMake的具体写法,所以这里参考了一下stack overflow [^1] .

# 这里设置的是CMake的版本,一般为默认设置
cmake_minimum_required(VERSION 3.19)
# 这里是项目的名称
project(gtkmm_proj)

# 这里需要设置C++标准为17(开发最新版的gtkmm-4.0时C++标准应大等17)
set(CMAKE_CXX_STANDARD 17)

# 用pkg-config提取配置信息, 下面四行相当于执行如下的编译命令:
# `pkg-config gtkmm-4.0 --cflags --libs`
find_package(PkgConfig REQUIRED) # 使用find_package调用外部依赖包
pkg_check_modules(GTKMM REQUIRED gtkmm-4.0) # 检查可用模块:(<包别名>, REQUIRED <软件包名>)
include_directories(${GTKMM_INCLUDE_DIRS}) # 指定头文件路径(编译阶段)
link_directories(${GTKMM_LIBRARY_DIRS}) # 指定需要链接的库文件路径(链接阶段)

# 此处添加链接器选项, 用于取消显示命令行窗口
add_link_options(-mwindows)

# 设置待编译的源文件
set(SOURCE_FILES base.cc)
# 添加编译得到的可执行文件名称
add_executable(gtkmm_proj ${SOURCE_FILES})
# 链接目标文件和库文件
target_link_libraries(${CMAKE_PROJECT_NAME} ${GTKMM_LIBRARIES})

参考

  1. How to configure Clion to compile gtkmm project - Stack Overflow;

最后

以上就是懦弱母鸡最近收集整理的关于CLion开发GTKmm界面应用的Cmake配置文件参考的全部内容,更多相关CLion开发GTKmm界面应用内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(129)

评论列表共有 0 条评论

立即
投稿
返回
顶部