• 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
    
    • 1
    • 2
    • 3

    库目录包含:

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

    链接器-输入:

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

    输出与中间路径

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

    插入基本example®ister_type

    • 在官网链接:https://docs.godotengine.org/en/stable/tutorials/scripting/gdextension/gdextension_cpp_example.html 可找到:
        register_types.cpp
        register_types.h
        example.cpp
        example.h
        gdexample.gdextension
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • !!注意!! 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
    
    • 1
    • 2
    • 3

    环境变量脚本

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

    VS工程模板

    • 将配置好的vs工程,导出为模板。
    • 使用时,便可以直接在你的godot项目目录res://src/ 创建你的vs项目
  • 相关阅读:
    硬盘分区基础
    STM32Cubemx新建F429基础工程
    【NodeJs篇】npm和包
    设计与人工智能的关系,人工智能和建筑设计
    Redis学习笔记-跳跃表
    探索C++在软件开发中的应用
    Vue3 第二十一篇:jsx如何修改另一个jsx中的变量
    4面全过之后还有交叉面,阿里新零售Java岗面试也太“刺激”了
    活动|探索人工智能与行业应用实践沙龙
    Java实用类-Enum(枚举)
  • 原文地址:https://blog.csdn.net/qq_31805591/article/details/134429101