无法安装 gtkmm / gtk+

如何解决无法安装 gtkmm / gtk+

所以我是平台上的新手,我使用 c/c++ 并且我对图形界面感兴趣,所以我决定在 Visual Studio 中使用 gtk+ 和 gtkmm。 首先,我为 gnome 项目下载了 gtk。我遵循了所有步骤,并在手动运行后得到了这个:

\\\ test23.cpp
#include <gtkmm.h>

int main(int argc,char* argv[])
{
    Gtk::Main app(argc,argv);
    Gtk::Window fenetre;
    Gtk::Main::run(fenetre);
    return 0;
}


$ g++ -std=c++ test23.cpp $(pkg-config gtkmm-3.0 --cflags --libs | sed 's/ -I/ -isystem /g')
Package gtkmm-3.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `gtkmm-3.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'gtkmm-3.0' found
bash: g++: command not found

所以我决定使用 vcpkg 安装。 但我多次尝试安装 gtk+ 和 gtkmm 失败。 这是我的:

C:\WINDOWS\system32>vcpkg install gtk
Computing installation plan...
The following packages will be built and installed:
    gtk[core]:x86-windows
  * harfbuzz[core,glib]:x86-windows
  * libepoxy[core]:x86-windows
  * pango[core]:x86-windows
Additional packages (*) will be modified to complete this operation.
Detecting compiler hash for triplet x86-windows...
Starting package 1/4: libepoxy:x86-windows
Building package libepoxy[core]:x86-windows...
Could not locate cached archive: C:\Users\Manolo97233\AppData\Local\vcpkg\archives\f7\f743ec00b235ca7fd37812284b7d2e09d89b368a.zip
-- Using cached C:/Windows/SysWOW64/vcpkg/downloads/anholt-libepoxy-1.5.4.tar.gz
-- Cleaning sources at C:/Windows/SysWOW64/vcpkg/buildtrees/libepoxy/src/1.5.4-337c486045.clean. Use --editable to skip cleaning for the packages you specify.
-- Extracting source C:/Windows/SysWOW64/vcpkg/downloads/anholt-libepoxy-1.5.4.tar.gz
-- Applying patch libepoxy-1.5.4_Add_call_convention_to_mock_function.patch
-- Using source at C:/Windows/SysWOW64/vcpkg/buildtrees/libepoxy/src/1.5.4-337c486045.clean
-- Acquiring MSYS Packages...
CMake Error at scripts/cmake/vcpkg_execute_required_process.cmake:72 (message):
    Command failed: C:/Windows/SysWOW64/vcpkg/downloads/tools/msys2/msys64/usr/bin/bash.exe --noprofile --norc -c "pacman -S --noconfirm --needed pkg-config"
    Working Directory: C:/Windows/SysWOW64/vcpkg/downloads/tools/msys2
    Error code: 1
    See logs for more information:
      C:\Windows\SysWOW64\vcpkg\buildtrees\libepoxy\msys-pacman-x86-windows-err.log

Call Stack (most recent call first):
  scripts/cmake/vcpkg_acquire_msys.cmake:127 (vcpkg_execute_required_process)
  scripts/cmake/vcpkg_configure_meson.cmake:106 (vcpkg_acquire_msys)
  ports/libepoxy/portfile.cmake:16 (vcpkg_configure_meson)
  scripts/ports.cmake:79 (include)

我认为我的 msys2 有问题,所以我尝试在安装套件失败后单独安装它。 然后我尝试单独运行与 gtkmm 相关的其他包,如 pango,我得到了这个:

//vcpkg install pango
Computing installation plan...
error writing file: C:\Windows\SysWOW64\vcpkg\buildtrees\0.vcpkg_dep_info.cmake: The data is invalid.

有人在某个主题上解释了这可能是其他软件包的 vcpkg 可访问性问题。我在我的 systWOW64 文件参数中修改了其他包的 vcpkg 的可访问性,但没有成功。 我不知道 vcpkg 是否有问题,因为我没有删除它并重新安装它。

我正在寻找解决方案/选项,我缺乏想法,我确实需要一些帮助。 谢谢

解决方法

使用 JHbuild,它是您从源代码构建 GNOME 应用程序的朋友!

运行jhbuild build gtkmm --nodeps,构建的文件将安装在$HOME/jhbuild/build。要使用它编译您的应用程序,您必须按如下方式导出环境变量 PKG_CONFIG_PATH:
export PKG_CONFIG_PATH="$HOME/jhbuild/build/lib/pkgconfig" (在终端中,您正在运行 g++ 命令) 而且你必须安装g++。 我不知道您是如何将 bash 与 Visual Studio 一起使用的,但是 如果您有 apt,则可以使用以下命令安装 g++ 和 gtkmm:
apt install libgtkmm-3.0-dev libgstreamermm-1.0-dev g++ 如果您已经下载了 gtk,那么下载的包必须包含一个 .pc 文件。当您安装下载的软件包时,此文件所在的目录必须添加到 PKG_CONFIG_PATH。

,

感谢 Frederic 的回答,这对我很有帮助。

我还有一个问题。在我寻求将外部包添加到我的 C/C++ 项目时,我阅读了有关如何将静态库 (.a) 转换为静态库 (.lib) 的不同主题。 我下载了包,我想使用他们的路径手动添加它们。

我添加了我的包如下:

1 / 在项目的编译器目录中添加头文件的路径:

-> 项目/属性菜单

-> 在左侧树中,选择 Configuration properties - C / C ++ - General

-> 在右表中,第一行“其他包含目录”:添加包含标题的库目录

2 / 在项目的编译器目录中添加 .lib 的路径:

-> 项目/属性菜单

-> 在左侧树中,选择配置属性 - 链接编辑器 - 常规

-> 在右表中,“附加库目录”行:添加包含 .libs 的库目录

3 / 指定与您的项目链接的库:

-> 项目/属性菜单

-> 在左侧树中,选择 Configuration Properties - Link Editor - Enter

->右表第一行“Additional dependencies”:添加你的项目必须链接的.lib库

但我寻找 .lib 文件以添加到我的链接器输入中,但我找到了 .a 文件和 .dll 文件,但我不知道该怎么做。 . a 文件和 .lib 文件几乎相同。似乎 .a 文件在 linux 下使用,而 .lib 在 windows 下使用。 我试图添加 .a 文件不成功。我想知道是否可以将 .a 文件转换为 .lib 文件。 谢谢

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


使用本地python环境可以成功执行 import pandas as pd import matplotlib.pyplot as plt # 设置字体 plt.rcParams[&#39;font.sans-serif&#39;] = [&#39;SimHei&#39;] # 能正确显示负号 p
错误1:Request method ‘DELETE‘ not supported 错误还原:controller层有一个接口,访问该接口时报错:Request method ‘DELETE‘ not supported 错误原因:没有接收到前端传入的参数,修改为如下 参考 错误2:cannot r
错误1:启动docker镜像时报错:Error response from daemon: driver failed programming external connectivity on endpoint quirky_allen 解决方法:重启docker -&gt; systemctl r
错误1:private field ‘xxx‘ is never assigned 按Altʾnter快捷键,选择第2项 参考:https://blog.csdn.net/shi_hong_fei_hei/article/details/88814070 错误2:启动时报错,不能找到主启动类 #
报错如下,通过源不能下载,最后警告pip需升级版本 Requirement already satisfied: pip in c:\users\ychen\appdata\local\programs\python\python310\lib\site-packages (22.0.4) Coll
错误1:maven打包报错 错误还原:使用maven打包项目时报错如下 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources (default-resources)
错误1:服务调用时报错 服务消费者模块assess通过openFeign调用服务提供者模块hires 如下为服务提供者模块hires的控制层接口 @RestController @RequestMapping(&quot;/hires&quot;) public class FeignControl
错误1:运行项目后报如下错误 解决方案 报错2:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project sb 解决方案:在pom.
参考 错误原因 过滤器或拦截器在生效时,redisTemplate还没有注入 解决方案:在注入容器时就生效 @Component //项目运行时就注入Spring容器 public class RedisBean { @Resource private RedisTemplate&lt;String
使用vite构建项目报错 C:\Users\ychen\work&gt;npm init @vitejs/app @vitejs/create-app is deprecated, use npm init vite instead C:\Users\ychen\AppData\Local\npm-
参考1 参考2 解决方案 # 点击安装源 协议选择 http:// 路径填写 mirrors.aliyun.com/centos/8.3.2011/BaseOS/x86_64/os URL类型 软件库URL 其他路径 # 版本 7 mirrors.aliyun.com/centos/7/os/x86
报错1 [root@slave1 data_mocker]# kafka-console-consumer.sh --bootstrap-server slave1:9092 --topic topic_db [2023-12-19 18:31:12,770] WARN [Consumer clie
错误1 # 重写数据 hive (edu)&gt; insert overwrite table dwd_trade_cart_add_inc &gt; select data.id, &gt; data.user_id, &gt; data.course_id, &gt; date_format(
错误1 hive (edu)&gt; insert into huanhuan values(1,&#39;haoge&#39;); Query ID = root_20240110071417_fe1517ad-3607-41f4-bdcf-d00b98ac443e Total jobs = 1
报错1:执行到如下就不执行了,没有显示Successfully registered new MBean. [root@slave1 bin]# /usr/local/software/flume-1.9.0/bin/flume-ng agent -n a1 -c /usr/local/softwa
虚拟及没有启动任何服务器查看jps会显示jps,如果没有显示任何东西 [root@slave2 ~]# jps 9647 Jps 解决方案 # 进入/tmp查看 [root@slave1 dfs]# cd /tmp [root@slave1 tmp]# ll 总用量 48 drwxr-xr-x. 2
报错1 hive&gt; show databases; OK Failed with exception java.io.IOException:java.lang.RuntimeException: Error in configuring object Time taken: 0.474 se
报错1 [root@localhost ~]# vim -bash: vim: 未找到命令 安装vim yum -y install vim* # 查看是否安装成功 [root@hadoop01 hadoop]# rpm -qa |grep vim vim-X11-7.4.629-8.el7_9.x
修改hadoop配置 vi /usr/local/software/hadoop-2.9.2/etc/hadoop/yarn-site.xml # 添加如下 &lt;configuration&gt; &lt;property&gt; &lt;name&gt;yarn.nodemanager.res