Godot4.1 GDExtension 配置VisualStudio方法梳理以及快捷配置工具

写在最前

  • 本篇教程基于之前教程,并且默认为Windows10,64位,Godot版本4.1.3
  • 如果遇到任何问题,欢迎及时提出,如果配置成功了请点个赞,球球啦。

之前教程

https://blog.csdn.net/qq_31805591/article/details/129526634

https://blog.csdn.net/qq_31805591/article/details/108805392

编译godot-cpp库

  • 在github中的godot-cpp页面下载源代码
  • 在压缩包解压后的根目录中有SContruct,利用scons命令编译,生成的库在bin文件夹中

添加环境变量

  • 在环境变量中添加GODOT_CPP_ENV_PATH,并设置路径为之前压缩包解压的根目录

配置新工程文件操作

  • 配置项目目录,使vs工程可以直接创建在godot的res://src/下
  • 点击生成即可自动生成更新res://bin/ 下的dll

切换vs项目配置名称

  • 打开项目属性页的配置管理器

图 4

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 将默认的Debug与Release改为editor,template_debug, template_release, 其中editor由debug复制而来,剩下两个一一对应。

图 5

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

包含目录包含:

  • 在vs工程的VC++目录中的包含目录包含:
$(GODOT_CPP_ENV_PATH)gen\include
$(GODOT_CPP_ENV_PATH)gdextension
$(GODOT_CPP_ENV_PATH)include

库目录包含:

  • 在vs工程的VC++目录中的库目录包含:
$(GODOT_CPP_ENV_PATH)bin

链接器-输入:

  • 添加一下代码,用于添加对应的lib文件
libgodot-cpp.windows.$(Configuration).x86_64.lib

输出与中间路径

  • 输出路径
$(SolutionDir)..\..\bin
  • 中间路径
IntDir\$(Configuration)\
  • 输出名称
libgdexample.windows.$(Configuration).x86_64

插入基本example&register_type

  • 在官网链接:https://docs.godotengine.org/en/stable/tutorials/scripting/gdextension/gdextension_cpp_example.html 可找到:
    register_types.cppregister_types.hexample.cppexample.hgdexample.gdextension
  • !!注意!! x.gdextension 的编码格式要求为LF与UTF-8(No Bom),而默认VS对文本文件的编码不是如此,故一定注意需要改编码(通过force utf-8(no bom)插件或者高级保存选项)
  • 将它们的代码复制并创建在你的工程里,一个示例如下(其中可创建.gdignore在中间目录下,放置每次obj都被错误导入):

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 6

c++生成-运行库

问题

  • Link2038
  • _ITERATOR_DEBUG_LEVEL 的不匹配项
  • 检测到"RuntimeLibrary"的不匹配项

方法

  • 将项目属性的c/c++下的代码生成中的运行库改为/MT

图 2

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

预处理器

问题

  • 同上

方法

  • 将预处理器定义清空

图 1

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

简化操作

  • 相关文件以上传github, 链接:https://github.com/sclchuck/GDExtension/tree/main

编译脚本

  • 写成.bat, 放入godot-cpp解压缩的根目录路,并运行
scons target=editor
scons target=template_debug
scons target=template_release

环境变量脚本

  • 写成.bat, 放入godot-cpp解压缩的根目录路,并运行
setx GODOT_CPP_ENV_PATH %~dp0

VS工程模板

  • 将配置好的vs工程,导出为模板。
  • 使用时,便可以直接在你的godot项目目录res://src/ 创建你的vs项目

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/179084.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

《009.SpringBoot之汽车租赁系统》

《009.SpringBoot之汽车租赁系统》 项目简介 [1]本系统涉及到的技术主要如下: 推荐环境配置:DEA jdk1.8 Maven MySQL 前后端分离; 后台:SpringBootMybatisPlus; 前台:Layuivue; [2]功能模块展示: 前端门户 1.登录&a…

构建新一代的K8s原生Java微服务+Quarkus实战

系列文章目录 送书第一期 《用户画像:平台构建与业务实践》 送书活动之抽奖工具的打造 《获取博客评论用户抽取幸运中奖者》 送书第二期 《Spring Cloud Alibaba核心技术与实战案例》 送书第三期 《深入浅出Java虚拟机》 送书第四期 《AI时代项目经理成长之道》 …

了解一下知识付费系统的开发流程和关键技术点

知识付费系统的开发既涉及到前端用户体验,又需要强大的后端支持和复杂的付费逻辑。在这篇文章中,我们将深入探讨知识付费系统的开发流程和关键技术点,并提供一些相关的技术代码示例。 1. 需求分析和规划: 在着手开发知识付费系…

基于Vue+SpringBoot的天然气工程业务管理系统 开源项目

目录 一、摘要1.1 项目介绍1.2 项目详细录屏 二、功能模块三、使用角色3.1 施工人员3.2 管理员 四、数据库设计4.1 用户表4.2 分公司表4.3 角色表4.4 数据字典表4.5 工程项目表4.6 使用材料表4.7 使用材料领用表4.8 整体E-R图 五、系统展示六、核心代码6.1 查询工程项目6.2 工程…

设计测试用例的6种基本原则

设计测试用例的基本原则,对于软件测试非常重要,这些原则有助于设计出高质量、全面、有效的测试用例,从而提高软件测试的效率和准确性,维护软件的质量和稳定。如果在设计用例时没有遵循基本原则,这会影响用例的全面性、…

wireshark 抓包工俱使用一

一、场景一 查询某个Http请求的请求数据和响应数据 请求示例如下(请求机器IP 172.20.2.164,目标地址:10.30.2.171) 过滤条件分析,请求协议http,请求数据和响应数据(http通信中请求和响应实际是两…

创新升级!Coremail邮箱客户端4.0发布

11月8日,2023年世界互联网大会乌镇峰会盛大开幕,同日,“互联网之光”博览会新产品新技术发布(网络安全专场)活动在乌镇互联网国际会展中心B2馆顺利举办,Coremail亮相发布现场,重磅发布Coremail邮…

C++ Qt 学习(八):Qt 绘图技术与图形视图

1. 常见 18 种 Qt 绘图技术 1.1 widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <memory> #include <QTreeView> #include "CPaintWidget.h"using namespace std;class Widget : public QWidget {Q_OBJECTpublic:Widget…

中国唯一!华为入选Gartner®企业低代码应用平台魔力象限

近日&#xff0c;全球咨询机构Gartner发布 《Magic Quadrant™ for Enterprise Low-Code Application Platforms》报告&#xff0c;华为入选该象限&#xff0c;作为中国唯一入选厂商&#xff0c;华为已连续两年入选Gartner企业低代码应用平台魔力象限。 华为云Astro低代码平台采…

Kubernetes Install Notes【kubernetes 安装备忘录】

文章目录 kubespraykubeadmminikubek3ssealos二进制 kubespray kubespray v2.21.0 在线部署 kubernetes v1.24.0 集群kubespray v2.21.0 在线定制部署升级 kubernetes v1.24.0 集群【2】Kubespray v2.22.1 在线部署 kubernetes v1.26.5 集群kubespray 部署 kubernetes 排错细节…

基于Vue+SpringBoot的农村物流配送系统 开源项目

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 系统登录、注册界面2.2 系统功能2.2.1 快递信息管理&#xff1a;2.2.2 位置信息管理&#xff1a;2.2.3 配送人员分配&#xff1a;2.2.4 路线规划&#xff1a;2.2.5 个人中心&#xff1a;2.2.6 退换快递处理&#xff1a;…

如何使用代理IP访问YouTube?

相信大家对YouTube都很熟悉&#xff0c;但是由于网络安全管制&#xff0c;我们在看YouTube视频时经常遇到由于地理封锁或网络限制而受到限制的人吗&#xff1f;如果是这样&#xff0c;您一定听说过代理IP&#xff08;代理服务器&#xff09;以及它们如何帮助您绕过此类限制&…