【发布时间】:2017-10-01 00:55:24
【问题描述】:
我正在尝试使用 msys64 在 Windows 10 上编译 zetcode lines。
我使用如下编译命令:
gcc example.c -o example `pkg-config --cflags --libs cairo gtk+-3.0`
并得到以下错误:
-bash: pkg-config: command not found
example.c:1:19: fatal error: cairo.h: No such file or directory
#include <cairo.h>
不过我之前做了pacman -S mingw-w64-i686-cairo,安装成功。当我输入 **pacman -Ss mingw-w64-i686-cairo ** 我得到以下信息:
mingw32/mingw-w64-i686-cairo 1.15.2-4 [installed]
Cairo vector graphics library (mingw-w64)
当我运行 gcc -v 我得到:
使用内置规范。 COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-pc-msys/5.3.0/lto-wrapper.exe 目标:x86_64-pc-msys 配置:/msys_scripts/gcc/src/gcc-5.3.0/configure --build=x86_64-pc-msys --prefix=/usrable-static --enable-version-specific-runtime-libs --with-arch =x86-64 --with-tune=generic --diso --enable-graphite --enable-threads=posix --enable-libatomic --enable-libcilkrts --enable-libg --disable-win32-registry -- disable-symvers --with-gnu-ld --with-gnu-as --disable-isl-version-cith-system-zlib --enable-linker-build-id --with-default-libstdcxx-abi=gcc4 -兼容的 线程模型:posix gcc 版本 5.3.0 (GCC)
最后但同样重要的是,如果我按照website 上的说明进行操作,我可以编译 lines 代码。但是,提供的 GTK3 版本非常旧,无法运行更新的code。
Cairo.h 的路径是:
C:\MinGW\include\cairo 用于安装过时(但有效)的 GTK+3
和
C:\msys64\mingw32\include\cairo
和
C:\msys64\mingw64\include\cairo 用于使用 msys64 安装较新(但不工作)的 GTK3
MSYS64 试图在哪个目录中查找 Cairo 库?
【问题讨论】:
-
您确定编译器查找包含的路径是正确的吗?
-
文件夹 C:\msys64\mingw64\include\cairo 确实存在。如何检查编译器查找包含的位置?
-
gcc -v,我相信。和gcc -I dir/ect/ory添加一个目录来搜索包含。 -
无法理解 gcc -v 输出!你有更好的主意吗?
-
你是怎么编译的?你对编译器的论点是什么?使用 cairo 编译单个 C 文件的标准方法是
gcc foo.c $(pkg-config --cflags --libs cairo)。不知道这样调用 pkg-config inline 是否适用于带有 msys64 的 Windows 10。想法是:将pkg-config --cflags --libs cairo的输出添加到编译器参数中。
标签: c compilation windows-10 gtk3 cairo