配置 g++ 使用 wxwidget 库构建 c++

2024-01-06

我一直在尝试在 Linux 中使用 Wxwidget 编译并运行一个简单的 C++ 程序,但是当我构建它时,这就是我尝试构建时得到的结果:

Executing task: g++ -c $(find /home/sopheak/Documents/WXWIDGET/ -type f -iregex '.*\.cpp') -g -D__WXGTK__ -D_FILE_OFFSET_BITS=64 -DWX_PRECOMP -fno-strict-aliasing -pthread -I/usr/local/lib/wx/include/gtk3-unicode-static-3.1/** -Iusr/include/** -I/usr/include/gtk-3.0/** -I/usr/include/at-spi2-atk/2.0/** -I/usr/include/at-spi-2.0/** -I/usr/include/dbus-1.0/** -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include/** -I/usr/include/gio-unix-2.0/** -I/usr/include/cairo/** -I/usr/include/pango-1.0/** -I/usr/include/fribidi/** -I/usr/include/harfbuzz/** -I/usr/include/atk-1.0/** -I/usr/include/pixman-1/** -I/usr/include/uuid/** -I/usr/include/freetype2/** -I/usr/include/libpng16/** -I/usr/include/gdk-pixbuf-2.0/** -I/usr/include/libmount/** -I/usr/include/blkid/** -I/usr/include/glib-2.0/** -I/usr/lib/x86_64-linux-gnu/glib-2.0/include/** -I/usr/include/gtk-3.0/unix-print/** -Wall
  
zsh:1: no matches found: -I/usr/local/lib/wx/include/gtk3-unicode-static-3.1/**
The terminal process "zsh '-c', 'g++ -c $(find /home/sopheak/Documents/WXWIDGET/ -type f -iregex '.*\.cpp') -g -D__WXGTK__ -D_FILE_OFFSET_BITS=64 -DWX_PRECOMP -fno-strict-aliasing -pthread -I/usr/local/lib/wx/include/gtk3-unicode-static-3.1/** -Iusr/include/** -I/usr/include/gtk-3.0/** -I/usr/include/at-spi2-atk/2.0/** -I/usr/include/at-spi-2.0/** -I/usr/include/dbus-1.0/** -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include/** -I/usr/include/gio-unix-2.0/** -I/usr/include/cairo/** -I/usr/include/pango-1.0/** -I/usr/include/fribidi/** -I/usr/include/harfbuzz/** -I/usr/include/atk-1.0/** -I/usr/include/pixman-1/** -I/usr/include/uuid/** -I/usr/include/freetype2/** -I/usr/include/libpng16/** -I/usr/include/gdk-pixbuf-2.0/** -I/usr/include/libmount/** -I/usr/include/blkid/** -I/usr/include/glib-2.0/** -I/usr/lib/x86_64-linux-gnu/glib-2.0/include/** -I/usr/include/gtk-3.0/unix-print/** -Wall'" failed to launch (exit code: 1).

这是我的 task.json :

{
    "version": "2.0.0",
    "tasks": [
        {
            "type": "shell",
            "label": "Compile",
            "linux": {
                "command": "g++",
                "args": [
                    "-c",
                    "$(find",
                    "${workspaceFolder}/",
                    "-type",
                    "f",
                    "-iregex",
                    "'.*\\.cpp')",
                    "-g",
                    "-D__WXGTK__",
                    "-D_FILE_OFFSET_BITS=64",
                    "-DWX_PRECOMP",
                    "-fno-strict-aliasing",
                    "-pthread",
                    "-I/usr/local/lib/wx/include/gtk3-unicode-static-3.1/**",
                    "-Iusr/include/**",
                    "-I/usr/include/gtk-3.0/**",
                    "-I/usr/include/at-spi2-atk/2.0/**",
                    "-I/usr/include/at-spi-2.0/**",
                    "-I/usr/include/dbus-1.0/**",
                    "-I/usr/lib/x86_64-linux-gnu/dbus-1.0/include/**",
                    "-I/usr/include/gio-unix-2.0/**",
                    "-I/usr/include/cairo/**",
                    "-I/usr/include/pango-1.0/**",
                    "-I/usr/include/fribidi/**",
                    "-I/usr/include/harfbuzz/**",
                    "-I/usr/include/atk-1.0/**",
                    "-I/usr/include/pixman-1/**",
                    "-I/usr/include/uuid/**",
                    "-I/usr/include/freetype2/**",
                    "-I/usr/include/libpng16/**",
                    "-I/usr/include/gdk-pixbuf-2.0/**",
                    "-I/usr/include/libmount/**",
                    "-I/usr/include/blkid/**",
                    "-I/usr/include/glib-2.0/**",
                    "-I/usr/lib/x86_64-linux-gnu/glib-2.0/include/**",
                    "-I/usr/include/gtk-3.0/unix-print/**",
                    "-Wall"
                ]
            },
            "problemMatcher": [],
            "group": {
                "kind": "build",
                "isDefault": true
            }
        },
        {
            "type": "shell",
            "label": "MoveObjects",
            "linux": {
                "command": "mv",
                "args": [
                    "${workspaceFolder}/*.o",
                    "${workspaceFolder}/"
                ]
            },
            "options": {
                "cwd": "${workspaceFolder}"
            },
            "problemMatcher": [],
            "dependsOn": [
                "Compile"
            ]
        }
    ]
}

我正在使用 Kali Linux,几周来我一直在尝试寻找构建运行 wxwidgets 库的方法,但我仍然找不到任何好的答案。 感谢您提前提供帮助!


我认为在Linux上的VS Code中使用wxWidgets时,最简单的就是使用CMake。首先,您需要 CMake 和 CMake 工具扩展:

首先,在 VS Code 中打开您的项目:

然后打开命令托盘并选择“CMake:Quick Start”:

然后输入将在 CMake 文件中使用的项目名称,并为项目类型选择可执行文件。我在该项目中使用了“cmakewx”。选择可执行文件后,将创建一个“CMakeLists.txt”文件和一个构建文件夹。

打开 CMakeLists.txt 文件。在文件的中间应该有一行看起来像这样:

add_executable(cmakewx main.cpp)

就我而言,“cmakewx”是我在上面输入的项目名称。就您而言,它将是您输入的名称。将此更改为

find_package(wxWidgets REQUIRED COMPONENTS net core base)
include(${wxWidgets_USE_FILE})
add_executable(cmakewx main.cpp)
target_link_libraries(cmakewx ${wxWidgets_LIBRARIES})

但将“cmakewx”替换为您为项目选择的名称。

最后,再次打开命令托盘并选择“CMake:Configure”

Now the project is ready to go. You can use buttons on the status bar for various project tasks. This area: enter image description here can be used to change the project's configuration (debug/release/etc). This area enter image description here will build the project, and these buttons enter image description here will debug and run the project.

这看起来似乎有很多步骤,但是当您熟悉该过程时,只需大约 30 秒即可准备好项目。


配置项目后,Intellisense 应该开始工作。但我发现有时并非如此。我不知道为什么。如果发生这种情况,关闭并重新打开项目应该可以使智能感知正常工作。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

配置 g++ 使用 wxwidget 库构建 c++ 的相关文章

  • 静态构造函数和 BeforeFieldInit?

    如果类型没有静态构造函数 则将执行字段初始值设定项 就在使用该类型之前 或者在某个时间点突发奇想 运行时 为什么这段代码 void Main start Dump Test EchoAndReturn Hello end Dump clas
  • EntityHydrate 任务失败

    我最近安装了 Visual Studio 11 Beta 和 Visual Studio 2010 之后 我无法在 Visual Studio 2010 中构建依赖于 PostSharp 的项目 因此我卸载了 Visual Studio 1
  • 在 C++ 代码中转换字符串

    我正在学习 C 并开发一个项目来练习 但现在我想在代码中转换一个变量 字符串 就像这样 用户有一个包含 C 代码的文件 但我希望我的程序读取该文件并插入将其写入代码中 如下所示 include
  • 如何修复错误:“检测到无法访问的代码”

    我有以下代码 private string GetAnswer private int CountLeapYears DateTime startDate return count String answer GetAnswer Respo
  • 防止控制台应用程序中的内存工作集最小化?

    我想防止控制台应用程序中的内存工作集最小化 在Windows应用程序中 我可以这样做覆盖 SC MINIMIZE 消息 http support microsoft com kb 293215 en us fr 1 但是 如何在控制台应用程
  • MVC 5 中具有 ASP.NET Identity 的 Autofac 不会验证 OWIN 管道中的安全标记

    我在 MVC 5 中设置了 AutoFac 来与 ASP NET Identity 一起使用 表面上一切似乎都工作正常 即用户可以创建帐户并登录 但后来我发现 当安全标记更改时 用户不会注销 通过在 AspNetUsers 表中进行暴力破解
  • Makefile 和 .Mak 文件 + CodeBlocks 和 VStudio

    我对整个 makefile 概念有点陌生 所以我对此有一些疑问 我正在 Linux 中使用 CodeBlocks 创建一个项目 我使用一个名为 cbp2mak 的工具从 CodeBlocks 项目创建一个 make 文件 如果有人知道更好的
  • vagrant ssh -c 并在连接关闭后保持后台进程运行

    我正在编写一个脚本来启动和后台流浪机器内的进程 似乎每次脚本结束和 ssh 会话结束时 后台进程也会结束 这是我正在运行的命令 vagrant ssh c cd vagrant src nohup python hello py gt he
  • OpenGL:如何检查用户是否支持glGenBuffers()?

    我检查了文档 它说 OpenGL 版本必须至少为 1 5 才能制作glGenBuffers 工作 用户使用的是1 5版本但是函数调用会导致崩溃 这是文档中的错误 还是用户的驱动程序问题 我正在用这个glGenBuffers 对于VBO 我如
  • 让 TeXstudio 在 linux mint 中工作:找不到文件“url.sty”。

    刚刚切换到 Linux Mint 以前的顽固 Windows 用户 我在尝试安装 TeXstudio 时遇到一些问题 Sudo apt get install texstudio 给了我一个正确的安装 至少 我是这么认为的 但是当我尝试构建
  • 如何防止 Blazor NavLink 组件的默认导航

    从 Blazor 3 1 Preview 2 开始 应该可以防止默认导航行为 https devblogs microsoft com aspnet asp net core updates in net core 3 1 preview
  • 在 azure blob 存储中就地创建 zip 文件

    我将文件存储在 Blob 存储帐户内的一个容器中 我需要在第二个容器中创建一个 zip 文件 其中包含第一个容器中的文件 我有一个使用辅助角色和 DotNetZip 工作的解决方案 但由于 zip 文件的大小最终可能达到 1GB 我担心在进
  • 如何从 Boost.PropertyTree 复制子树

    我有一些boost property tree ptree 我需要树来删除一些具有特定标签名称的元素 例如 xml 表示源ptree如下
  • ASP.NET Core 中间件与过滤器

    在阅读了 ASP NET Core 中间件之后 我对何时应该使用过滤器以及何时应该使用中间件感到困惑 因为它们似乎实现了相同的目标 什么时候应该使用中间件而不是过滤器 9频道有一个关于此的视频 ASP NET 怪物 91 中间件与过滤器 h
  • .NET 和 Mono 之间的开发差异

    我正在研究 Mono 和 NET C 将来当项目开发时我们需要在 Linux 服务器上运行代码 此时我一直在研究 ASP NET MVC 和 Mono 我运行 Ubuntu 发行版 想要开发 Web 应用程序 其他一些开发人员使用 Wind
  • 以编程方式创建 Blob 存储容器

    我有一个要求 即在创建公司时 在我的 storageaccount 中创建关联的 blob 存储容器 并将容器名称设置为传入的字符串变量 我已尝试以下操作 public void AddCompanyStorage string subDo
  • Xamarin Forms Binding - 访问父属性

    我无法访问页面的 ViewModel 属性以便将其绑定到 IsVisible 属性 如果我不设置 BindingContext 我只能绑定它 有没有办法可以在设置 BindingContext 的同时访问页面的 viewmodel root
  • Unity3D - 将 UI 对象移动到屏幕中心,同时保持其父子关系

    我有一个 UI 图像 它的父级是 RectTransform 容器 该容器的父级是 UI 面板 而 UI 面板的父级是 Canvas 我希望能够将此 UI 图像移动到屏幕中心 即画布 同时保留父级层次结构 我的目标是将 UI 图像从中心动画
  • 如何编写一个接受 int 或 float 的 C 函数?

    我想用 C 语言创建一个扩展 Python 的函数 该函数可以接受 float 或 int 类型的输入 所以基本上 我想要f 5 and f 5 5 成为可接受的输入 我认为我不能使用if PyArg ParseTuple args i v
  • winform c# 中的弹出窗口

    我正在开发一个需要弹出窗口的项目 但问题是我还希望能够通过表单设计器在此弹出窗口中添加文本框等 所以基本上我有一个按钮 当您单击它时 它将打开我在表单设计器中设计的另一个窗口 我一直在谷歌搜索 但还没有找到我需要的东西 所以我希望你们能帮助

随机推荐

  • 在uwp中获取我电脑中的所有进程

    我在进行 UWP 开发时遇到问题 在我的应用程序中 我需要获取计算机中运行的所有应用程序详细信息 包括其显示名称或可执行文件名称 我的第一个解决方案是使用System Process类 我这样做就像 private void Mybutto
  • 如何在 clojure 中从子进程执行非阻塞读取 stdout?

    我希望从 clojure 生成一个长期运行的子进程 通过标准流与该进程进行通信 使用conch https github com Raynes conch图书馆 我可以 生成并读取进程 并从中读取数据out stream def my pr
  • 您使用过“Stack”对象(.Net)在现实世界中的哪些用途

    我们都读过或听说过堆栈类 但我们中的许多人可能从未找到使用 LIFO 对象的理由 我很想知道使用该对象的现实世界解决方案以及原因 http msdn microsoft com en us library system collection
  • 为什么我在 Scala 中遇到 OutOfMemoryError 编译错误?

    我正在开发一个 Lift 项目并尝试使用scala cc以及使用 jvm 参数的 scala 编译服务器 Xmx1024m Xss20m XX PermSize 64M XX MaxPermSize 512M XX CMSClassUnlo
  • Maven - 来自 java 项目的可执行文件

    我需要使用 Maven 用于学校项目 从单个 Maven 命令创建可执行文件 我从未使用过 Maven 并在 stackoverlow 上尝试了许多解决方案 该解决方案创建了一个 jar 文件 但该文件从未打开 这是我的项目结构 src c
  • 在 Java 7 中如何可移植地获取文件存储的块大小?

    我看过java nio file attribute Attributes and java nio file FileStore 但无法找到一种方法来发现磁盘文件的块大小 这是一个article http lanai dietpizza
  • jQuery:有关于 jQuery Ribbon 插件的推荐吗?

    我看到有几个 jQuery 插件试图重现 Microsoft 在 Word 2007 中引入的 Ribbon Fluent UI 我发现的包括 http code google com p jquery ui ribbon http cod
  • “[Index(['', ''], dtype='object')] 都不在 [列] 中”

    我是 python 中的 panda 库出现错误 Index Dokuman Sinif dtype object 均不在 列 中 classes ekonomi spor teknoloji teknoloji saglik saglik
  • 使用 SimpleXML 根据另一个属性值选择属性值[重复]

    这个问题在这里已经有答案了 我正在尝试使用 xml 文件和 SimpleXML 显示图像 XML 代码是
  • 简单的 KVO 示例

    我正在尝试做简单的 KVO 示例 但遇到了问题 这是我的 m 文件 import KVO ViewController h interface KVO ViewController property NSUInteger number en
  • BERT 文档嵌入

    我正在尝试使用 BERT 进行文档嵌入 我使用的代码是两个来源的组合 我用 and BERT 词嵌入教程 https mccormickml com 2019 05 14 BERT word embeddings tutorial 下面是代
  • nhibernate 4.0 中的双向关系

    我有一个在 NHibernate 3 1 上完美运行的代码 但在 NHibernate 4 0 上却无法运行 所以 这就是阶级关系 public class Employee BaseEntity public Department Dep
  • 如果字段顺序更改,Avro 架构不兼容

    设想 客户端使用 Avro Reflect Datum Writer 序列化 POJO 并将 GenericRecord 写入文件 通过反射获得的模式是这样的 注意顺序A B D C namespace storage management
  • 如何使用 MethodInfo.Invoke 将参数作为引用传递

    如何传递参数作为参考MethodInfo Invoke 这是我要调用的方法 private static bool test string str out byte byt 我尝试过这个但失败了 byte rawAsm new byte M
  • github页面CNAME文件可以包含多个域名吗?

    github页面CNAME文件可以包含多个域名吗 示例文件 reggi com www reggi com blog reggi com 不 这是不可能的 请参阅GitHub 帮助文档 https help github com artic
  • C++ 堆损坏检测工具

    有没有工具可以帮助我检测 C 中的堆损坏 我无法提供源代码 因为这是一个大项目 我可以使用任何与 Visual Studio 或 xcode 配合使用的工具 该工具应该可以在多线程下正常工作 这个问题不是很常见 它会在很长一段时间后出现 并
  • 返回特定类型的 TypeScript keyof

    如果我有以下类型 interface Foo bar string baz number qux string 我可以用吗typeof输入一个参数 使其只需要以下键Foo那个返回string bar or qux Typescript 4
  • Application Insights 安全和欺骗

    这可能是一个愚蠢的问题 但是客户端应用程序洞察是否不会被欺骗 Microsoft 要求您向需要记录的 HTML 页面添加一些 JavaScript 其中一部分包含硬编码的仪器密钥 下面不是真正的密钥 instrumentationKey 3
  • 如何查看 DLL 上的公钥令牌

    有谁知道查看 DLL 上的公钥令牌的方法吗 我正在调查代码中的预期内容与正在构建的内容之间可能存在的不匹配情况 提前致谢 它咕噜声 Use Assembly GetExecutingAssembly GetName GetPublicKey
  • 配置 g++ 使用 wxwidget 库构建 c++

    我一直在尝试在 Linux 中使用 Wxwidget 编译并运行一个简单的 C 程序 但是当我构建它时 这就是我尝试构建时得到的结果 Executing task g c find home sopheak Documents WXWIDG