当前位置: 首页 > news >正文

网站用绝对路径好还是相对路径seo许昌网站seo

网站用绝对路径好还是相对路径seo,许昌网站seo,南京做网站找哪家好,财务公司是做什么的目录 准备环境构建官方案例另行构建经验分享附录 准备环境 安装Motion Builder 2024并破解安装Qt 5.15.2 截止至2024年12月19日,Qt的在线安装器的默认页面是没有5.15.2版本的。你需要:在“选择组件”界面,选择“Archive”,点击“…

目录

    • 准备环境
    • 构建官方案例
    • 另行构建
    • 经验分享
    • 附录

准备环境

  1. 安装Motion Builder 2024并破解
  2. 安装Qt 5.15.2
    截止至2024年12月19日,Qt的在线安装器的默认页面是没有5.15.2版本的。你需要:在“选择组件”界面,选择“Archive”,点击“筛选”,重新加载数据库之后,你就可以看到旧版5.15.2了。
    勾选Qt 5.15.2 的MSVC 2019 64-bit和Qt WebEngine。我个人比较断舍离,我觉得其它组件用不上,我就都消选了。点击下一步,直到安装完成。
    在这里插入图片描述
  3. 安装cmake 3.17或更高的版本。
  4. 安装Visual Studio 2022 或更高版本,还必须安装“使用 C++ 进行桌面开发”Visual Studio 组件。

本节参考资料:MotionBuilder SDK 要求

构建官方案例

  1. 添加环境变量
    变量名:QTDIR
    变量值:{Qt5Config.cmake所在的目录} (举例:D:\software\Qt\5.15.2\msvc2019_64\lib\cmake\Qt5)

  2. 修改MB给的cmake文件MotionBuilder 2024\OpenRealitySDK\cmake\OpenReality.cmake的第82行,把${QT_VERSION_MAJOR}改成5。

    # find_package(Qt${QT_VERSION_MAJOR} ${QtVersion} REQUIRED COMPONENTS Core Gui Widgets Multimedia OpenGL OpenGLExtensions WebEngineWidgets Xml)
    find_package(Qt5 ${QtVersion} REQUIRED COMPONENTS Core Gui Widgets Multimedia OpenGL OpenGLExtensions WebEngineWidgets Xml)
    
  3. {你的MB安装目录}\MotionBuilder 2024\OpenRealitySDK下,输入cmake指令:

    cmake . -DCMAKE_BUILD_TYPE=Debug
    

    可选的build type还有RelWithDebInfo。

  4. 如果成功构建,打开OpenReality.sln。默认当前启动项目是ALL_BUILD,如果你直接编全部,大概率遇到各种警告编不过。建议按需编译:选择你需要的项目,右键点击”设为启动项目“,然后右键点击”生成“。

  5. 如果成功编译,那么编译出来的.lib会放在D:\software\MotionBuilder 2024\bin\x64\plugins\Debug
    要想使用插件,你需要手动启动MB,点击顶部菜单栏的Settings>Preference>SDK>Add,选择上述目录,确定,Ok,重启MB即可使用。

  6. 快速启动(选读)
    如果直接点击运行,是运行不了的,因为编译的结果是生成一个DLL而不是一个exe。我们需要把这个dll绑给MB。
    右键当前项目,点击最下面的“属性”,选择“调试”,
    填写“命令”为你本地的MB的exe文件。例如我的是"D:\software\MotionBuilder 2024\bin\x64\motionbuilder.exe"。这一步的作用是,在我们编译好之后,有.exe能直接启动。
    填写“环境”为MOTIONBUILDER_PLUGIN_PATH=C:\Program Files\Autodesk\MotionBuilder 2023\bin\x64\plugins\Debug。这一步的作用是,让MB能找到插件在哪里。
    如此启动之后,MB就能启动咱们编出来的样例插件,并且我们能在vs里打断点调试了。
    在这里插入图片描述

另行构建

请先确保官方构建环节能够跑通。

我的基本思路:照搬官方构建的cmake文件,按需小改。

  1. 创建项目文件夹,以myplugin为例。
  2. 从OpenRealitySDK文件夹内拷贝以下3个内容到myplugin文件夹:
    在这里插入图片描述
  3. 修改myplugin\CMakeLists.txt的第10行,把MOBU_ROOT设为你的MB根目录,例如我的是:
    # Mandatory path to MotionBuilder Root folder.
    set(MOBU_ROOT "D:/software/MotionBuilder 2024")
    
    修改myplugin\CMakeLists.txt的第16行,子目录改为Src:
    add_subdirectory( Src )
    
  4. 在myplugin文件夹下,创建文件夹,命名为Src,用于放置源文件。在myplugin\Src\创建以下4个文件,拷贝我提供的内容(详见附录):
    ① CMakeLists.txt
    ② mytool_tool.h
    ③ mytool_tool.cpp
    ④ mytool_lib.cpp
  5. 在myplugin文件夹下,cmake构建解决方案。创建脚本双击更方便。
    Build.bat
    mkdir build
    cd build
    cmake ..
    
  6. 打开解决方案myplugin\build\myplugin.sln,把MyTool设为启动项目,运行启动,你会得到:
    在这里插入图片描述

再次总结,构建好的文件目录应该是这样的,被选中的是必需:
在这里插入图片描述 在这里插入图片描述 在这里插入图片描述
之后就是圈地自嗨时间啦~!Enjoy!

经验分享

  1. 编译MB的插件,可能会把破解好的许可证弄坏,此时需要重新破解。祝大家心平气和
  2. 官方示例插件个数大约有80+,并不是每个插件都放在Tools列表里,而是藏在各种边边角角的下拉框。
    当你找不到想学习的插件的入口时,请打开MotionBuilder 2024\OpenRealitySDK\Samples{插件的系列名}{插件的系列名}.txt,这个txt文本里面会标注这个系列下的每个插件是怎么使用的。
    另外,每个插件的头文件,可能也会说明这个插件的功能作用。
  3. 官方文档是个好东西。
    https://help.autodesk.com/view/MOBPRO/2024/ENU/?guid=GUID-0AEB6C9E-3A7D-4427-86DA-30E03D65E1C3

附录

① CMakeLists.txt
你可以从每个官方示例插件下找到cmake模板,例如OpenRealitySDK\Samples\boxes\box_template\CMakeLists.txt。不同的是,我对它进行了按需修改。

# 第1处修改: 设置我自己的项目名称
project(MyTool LANGUAGES CXX)# 第2处修改: 从罗列每个源文件,改成自动识别
file(GLOB HEADER_FILES ${PROJECT_SOURCE_DIR}/*.h)
file(GLOB SOURCE_FILE ${PROJECT_SOURCE_DIR}/*.cpp) # 注意,官方用的是cxx,我用的是cppsource_group(TREE ${CMAKE_SOURCE_DIR} FILES ${HEADER_FILES})
source_group(TREE ${CMAKE_SOURCE_DIR} FILES ${SOURCE_FILE})add_library(${PROJECT_NAME} SHARED${HEADER_FILES}${SOURCE_FILE}
)# 第3处修改:添加调试选项参数,这样就可以直接启动MB并绑定调试
set_property(TARGET  ${PROJECT_NAME} PROPERTY  VS_DEBUGGER_COMMAND ${MOBU_ROOT}/bin/${BIN_PATH}/motionbuilder.exe)
set_property(TARGET  ${PROJECT_NAME} PROPERTY  VS_DEBUGGER_COMMAND_ARGUMENTS "-console")
set_property(TARGET  ${PROJECT_NAME} PROPERTY  VS_DEBUGGER_ENVIRONMENT "MOTIONBUILDER_PLUGIN_PATH=${MOBU_ROOT}/bin/${BIN_PATH}/plugins/$(Configuration)")target_compile_definitions(${PROJECT_NAME} PRIVATE  FBXSDK_SHARED FBXSDK_NEW_API)
target_link_libraries(${PROJECT_NAME} PRIVATE fbsdk fbxsdk OpenGL::GL OpenGL::GLU)mobu_target_finalize(${PROJECT_NAME} plugins)

② mytool_tool.h
这是插件的UI入口类的头文件。

#ifndef __MYTOOL_H__
#define __MYTOOL_H__
// ===========================================================================
// Copyright 2017 Autodesk, Inc. All rights reserved.
//
// Use of this software is subject to the terms of the Autodesk license
// agreement provided at the time of installation or download, or which
// otherwise accompanies this software in either electronic or hard copy form.
// ===========================================================================//--- SDK include
#include <fbsdk/fbsdk.h>//--- Registration define
#define ORTOOLTEMPLATE__CLASSNAME	MyTool
#define ORTOOLTEMPLATE__CLASSSTR	"MyTool"class FbxScene;/**	Tool template.
*/
class MyTool : public FBTool
{//--- Tool declaration.FBToolDeclare( MyTool, FBTool );public://--- Construction/Destruction,virtual bool FBCreate();		//!< Creation function.virtual void FBDestroy();		//!< Destruction function.private:FBLabel		mLabel;FBButton	mButton;
};#endif

③ mytool_tool.cpp
这是插件的UI入口类的.cpp文件

// ===========================================================================
// Copyright 2017 Autodesk, Inc. All rights reserved.
//
// Use of this software is subject to the terms of the Autodesk license
// agreement provided at the time of installation or download, or which
// otherwise accompanies this software in either electronic or hard copy form.
// ===========================================================================/**	\file	mytool_tool.cxx
*/
#include <fbsdk/fbsdk.h>//--- Class declaration
#include "mytool_tool.h"//--- Registration defines
#define ORTOOLTEMPLATE__CLASS	ORTOOLTEMPLATE__CLASSNAME
#define ORTOOLTEMPLATE__LABEL	"MyTool"
#define ORTOOLTEMPLATE__DESC	"MAY - Tool Description"//--- Implementation and registration
FBToolImplementation(	ORTOOLTEMPLATE__CLASS	);
FBRegisterTool		(	ORTOOLTEMPLATE__CLASS,ORTOOLTEMPLATE__LABEL,ORTOOLTEMPLATE__DESC,FB_DEFAULT_SDK_ICON		);	// Icon filename (default=Open Reality icon)using namespace FBXSDK_NAMESPACE;/*************************************************	Constructor.************************************************/
bool MyTool::FBCreate()
{// Tool optionsStartSize[0] = 800;StartSize[1] = 500;int lB = 10;//int lS = 4;int lW = 200;int lH = 18;// Configure layoutAddRegion("Label", "Label",lB, kFBAttachLeft, "", 1.0,lB, kFBAttachTop, "", 1.0,lW, kFBAttachNone, "", 1.0,lH, kFBAttachNone, "", 1.0);SetControl("Label", mLabel);mLabel.Caption = "Label";AddRegion("Button", "Button",lB, kFBAttachLeft, "", 1.0,30, kFBAttachTop, "", 1.0,lW, kFBAttachNone, "", 1.0,lH, kFBAttachNone, "", 1.0);SetControl("Button", mButton);mButton.Caption = "Button";return true;
}/*************************************************	Destruction function.************************************************/
void MyTool::FBDestroy()
{}

④ mytool_lib.cpp
这是dll文件的注册信息。每个MB插件都是一个绑给MB的dll。

// ===========================================================================
// Copyright 2017 Autodesk, Inc. All rights reserved.
//
// Use of this software is subject to the terms of the Autodesk license
// agreement provided at the time of installation or download, or which
// otherwise accompanies this software in either electronic or hard copy form.
// ===========================================================================/**	\file	MyToolcxx
*	Library declarations.
*	Contains the basic routines to declare the DLL as a loadable
*	library.
*///--- SDK include
#include <fbsdk/fbsdk.h>#ifdef KARCH_ENV_WIN#include <windows.h>
#endif//--- Library declaration.
FBLibraryDeclare(MyTool)
{FBLibraryRegister(MyTool);
}
FBLibraryDeclareEnd;/*************************************************	Library functions.************************************************/
bool FBLibrary::LibInit()		{ return true; }
bool FBLibrary::LibOpen()		{ return true; }
bool FBLibrary::LibReady()		{ return true; }
bool FBLibrary::LibClose()		{ return true; }
bool FBLibrary::LibRelease()	{ return true; }
http://www.dt0577.cn/news/21819.html

相关文章:

  • wordpress 4.9.1 主题seo科技网
  • 泉州网站建设策划百度的广告怎么免费发布
  • 湖南厦门网站优化深圳建站公司
  • 外包网站怎么做seo如何设计一个网站页面
  • 独立域名网站建设网站seo的优化怎么做
  • 个人电商网站建设范例凡科建站怎么样
  • 郑州网站推广方法如何推广好一个产品
  • 淘宝客做网站好还是建群号网络推广工作怎么样
  • 男女直接做网站电子技术培训机构
  • 公司名称变更网站要重新备案检测网站是否安全
  • 石家庄住房建设厅网站金戈枸橼酸西地那非
  • wordpress外贸建站教程网络营销软件推广
  • 镇江手机网站建设网站排行榜查询
  • 网站开发用c 语言seo优化标题 关键词
  • 做网站外包需要提供什么百度seo推广计划类型包含
  • 快速装修公司seo推广怎么学
  • 福建金融公司网站建设百度竞价开户联系方式
  • 单页网站cpa虚拟主机5g站长工具seo综合查询
  • 数码网站建设总体目标蜘蛛seo超级外链工具
  • 可以免费打广告的平台网站排名优化多少钱
  • 东莞阿里巴巴网站建设安装百度到手机桌面
  • 龙岗附近做网站公司seo博客
  • 深圳网站建设网站运营2345网址导航浏览器
  • 莘县建设局网站如何快速提升网站关键词排名
  • 马鞍山网站建设报价天天seo百度点击器
  • xp怎么做网站服务器广州seo团队
  • 上海高端seo公司seo优化一般多少钱
  • 网站制作的核心是什么最近的头条新闻
  • 二维码制作appseo是什么意思新手怎么做seo
  • 网站建设客服话术万网域名