如何在CMake中使用pkg-config(juCi ++)

时间:2017-03-06 20:13:53

标签: c++ cmake gtk pkg-config

我很高兴用C ++编程并用g ++编译很长一段时间。不久前,我决定使用IDE,我来到了juCi++

这个IDE绝对精彩,但它使用CMake(或Meson)来构建项目。这不是问题,直到我必须使用pkg-config包含一个库(GTK + 3.0,如果你想知道)。使用g ++进行编译时,这可以很容易地完成,但是,由于我是CMake的新手,我不知道如何在新的IDE中完成它。

有人可以解释一下吗?

1 个答案:

答案 0 :(得分:0)

如果您的IDE处理CMake和Meson,它应该能够检测您的项目文件。我说要去Meson,这是未来,而CMake的语法有一些Meson没有的怪癖。

介子:

Meson documentation

他是一个基本的meson.build,希望在main.c中找到您的应用程序代码,并生成一个名为gtk3-test的二进制文件。

project('gtk3-test', 'c')

cc = meson.get_compiler('c')
deps = dependency ('gtk+-3.0')
sources = ['main.c']

executable('gtk3-test', sources, dependencies: deps)

CMake的

CMake documentation

对于CMake,只需看看我对How do I link gtk library more easily with cmake in windows?的回答(这也适用于Linux)。它适用于GTK + 2,但是将其调整为GTK + 3很容易,所以这里使用的是CMakeLists.txt

project (gtk3-test)
cmake_minimum_required (VERSION 2.4)

find_package (PkgConfig REQUIRED)
pkg_check_modules (GTK3 REQUIRED gtk+-3.0)

include_directories (${GTK3_INCLUDE_DIRS})
link_directories (${GTK3_LIBRARY_DIRS})
add_executable (gtk3-test main.c)
add_definitions (${GTK3_CFLAGS_OTHER})
target_link_libraries (gtk3-test ${GTK3_LIBRARIES})