用命令行编译gtkmm程序?

时间:2019-06-03 18:47:55

标签: c++ gtkmm3

我正在尝试在Windows 10中运行gtkmm程序,即使我完全按照下面的链接提供的步骤进行操作,在编译时也会遇到错误。

我安装了MSYS2,运行了所有命令,并使用pacman命令安装了所有必需的软件包(我遵循this)。

程序示例:

#include <gtkmm.h>

int main(int argc, char *argv[])
{
  auto app =
    Gtk::Application::create(argc, argv,
      "org.gtkmm.examples.base");

  Gtk::Window window;
  window.set_default_size(200, 200);

  return app->run(window);
}

使用命令行执行时的错误消息(找到here):

g++ simple.cc -o simple `pkg-config gtkmm-3.0 --cflags --libs` 

我得到这些错误:

C:\Users\sofiane\Desktop>g++ simple.cc -o simple `pkg-config gtkmm-3.0 --cflags --libs`
g++: error: `pkg-config: No such file or directory
g++: error: gtkmm-3.0: No such file or directory
g++: error: unrecognized command line option '--cflags'
g++: error: unrecognized command line option '--libs`'

1 个答案:

答案 0 :(得分:0)

您的shell似乎不了解反引号,并且正在考虑将它们作为命令的一部分,从而使其寻找不存在的名为`pkg-config的程序。反引号表示应在命令行中使用pkg-config程序的 output

您可能正在使用常规命令提示符而不是MSYS Shell。尝试打开一个MSYS Shell窗口,或使用以下解决方法:

C:\Users\sofiane\Desktop> pkg-config gtkmm-3.0 --cflags --libs
-Ithis -Ithat -lsomething (copy and paste this line)
C:\Users\sofiane\Desktop> g++ simple.cc -o simple -Ithis -Ithat -lsomething (paste here)