Iwao Dev

気付いたことをメモしています.

この画面は、簡易表示です

FBX

FBX SDK 2020.1.1

FBX SDK 2020.1.1 があった.
FBX SDK 2020.1.1
今は時間が取れないので,ダウンロードとインストールまで.


いつもの様に,インクルードとライブラリのパスを変更 2020.1.1 に.
FBX SDK インクルードパスの設定
FBX SDK ライブラリパスの設定
2020.1 であったワーニング LNK4099 は出なくなった?

この投稿は役に立ちましたか? 役に立った 役に立たなかった 0 人中 0 人がこの 投稿 は役に立ったと言っています。

  にほんブログ村 IT技術ブログへ


FBX SDK 2020.1

FBX SDK の脆弱性」の記事を先日読んでいた.
それで SDKダウンロード する所を見ると,対応版と思われる 2020.1 があった.
FBX SDK 2020.1


「追加のインクルードディレクトリ」と「追加のライブラリディレクトリ」を 2020.1 に.
追加のインクルードディレクトリ
追加のライブラリディレクトリ
ビルドすると大量の warning .
LibXml2-MD.lib(buf.obj) : warning LNK4099: PDB ‘libxml2-md.pdb’ が ‘LibXml2-MD.lib(buf.obj)’ で、または ‘c:\Temp\…\Debug.141\Win32\libxml2-md.pdb’ に見つかりません。デバッグ情報がないものとして、オブジェクトにリンクします。
Zlib-MD.lib(adler32.obj) : warning LNK4099: PDB ‘zlib-md.pdb’ が ‘Zlib-MD.lib(adler32.obj)’ で、または ‘c:\Temp\…\Debug.141\Win32\zlib-md.pdb’ に見つかりません。デバッグ情報がないものとして、オブジェクトにリンクします。
LibFbxSDK-MD.lib(OArchive.cpp.obj) : warning LNK4099: PDB ‘alembic-md.pdb’ が ‘LibFbxSDK-MD.lib(OArchive.cpp.obj)’ で、または ‘c:\Temp\…\Debug.141\Win32\alembic-md.pdb’ に見つかりません。デバッグ情報がないものとして、オブジェクトにリンクします。
FBX SDK 2020.1 で LNK4099
どこか,プロジェクトの設定を間違えたか?

この投稿は役に立ちましたか? 役に立った 役に立たなかった 0 人中 0 人がこの 投稿 は役に立ったと言っています。

  にほんブログ村 IT技術ブログへ


FBX SDK 2020.0.1

FBX SDK がまた新しくなっている.
とりあえずダウンロードしてインストール.
FBX SDK 2020.0.1 インストール
ビルドなどは次のタイミングを予定.


Lib を組み込む部分のコードは次の様にしている.

#include <FbxSdk.h>
#ifdef	FBXSDK_VERSION_STRING

#if 	(FBXSDK_VERSION_MAJOR >= 2014)
    	#define	FS_VER_GT_2014_00
#endif
#if 	(FBXSDK_VERSION_MAJOR >= 2019)
    #if	(FBXSDK_VERSION_MINOR >=    1)
    	#define	FS_VER_GT_2019_01
    #endif
#endif
#if 	(FBXSDK_VERSION_MAJOR >= 2020)
    	#define	FS_VER_GT_2019_01
#endif

#if	defined	(FS_VER_GT_2019_01)
    #if     defined	    (_DLL)
    	    #pragma comment (lib, "LibXml2-MD.lib")
    	    #pragma comment (lib, "Zlib-MD.lib")
    #else   //		   !(_DLL)
    	    #pragma comment (lib, "LibXml2-MT.lib")
    	    #pragma comment (lib, "Zlib-MT.lib")
    #endif  //		    (_DLL)
#endif

#if	defined	(FS_VER_GT_2014_00)
    #if	    defined	    (_DLL)
    	    #pragma comment (lib, "LibFbxSDK-MD.lib")
    #else   //		   !(_DLL)
    	    #pragma comment (lib, "LibFbxSDK-MT.lib")
    #endif  //		    (_DLL)
#endif

#endif // FBXSDK_VERSION_STRING
この投稿は役に立ちましたか? 役に立った 役に立たなかった 0 人中 0 人がこの 投稿 は役に立ったと言っています。

  にほんブログ村 IT技術ブログへ

  • カテゴリー:

FBX SDK 2020.0

FBX SDK のページを見たら新しい 2020.0 があった.
FBX SDK 2020.0
ダウンロードしてインストール.
構成マネージャで 2020.0 用の DebugK と ReleaseK を追加.
「構成マネージャー」で 2020.0 用の追加
追加のインクルードディレクトリを 2020.0 に.
C:\Program Files\Autodesk\FBX\FBX SDK\2020.0\include;%(AdditionalIncludeDirectories)
追加のライブラリディレクトリを 2020.0 に.
C:\Program Files\Autodesk\FBX\FBX SDK\2020.0\lib\vs2017\x64\Release;%(AdditionalLibraryDirectories)
LibXml2 と ZLib をリンク するため,以前にコメントにしていた次の部分を有効に.
LibXml2-MD.lib と ZLib-MD.lib をリンクする様に
これでビルドはできるようになった.
動作確認はこれから.

この投稿は役に立ちましたか? 役に立った 役に立たなかった 0 人中 0 人がこの 投稿 は役に立ったと言っています。

  にほんブログ村 IT技術ブログへ

  • カテゴリー:

FBX SDK の lib ファイル指定

先日,時間があまりとれず 今までの lib の指定 でそのままだった.


FbxSdk.h から順にたどっていくと fbxsdk_version.h があった.
この中に次の様な SDK バージョンが定義されている.

#define FBXSDK_VERSION_MAJOR	2014
#define FBXSDK_VERSION_MINOR	1
#define FBXSDK_VERSION_POINT	0

バージョン文字列は次の様に利用できる.

CString	fsv_str = FS_Ver_Str ;
#ifdef	FBXSDK_VERSION_STRING
//	fsv_str = ::To_tstring(FBXSDK_VERSION_STRING).c_str() ;
	fsv_str =           _T(FBXSDK_VERSION_STRING) ;
#endif

これらを利用した方法で書き換え.


#if		(FBXSDK_VERSION_MAJOR >= 2014)
		#define	FS_VER_GT_2014_00
#endif
#if		(FBXSDK_VERSION_MAJOR >= 2019)
	#if	(FBXSDK_VERSION_MINOR >=    1)
		#define	FS_VER_GT_2019_01
	#endif
#endif

#ifdef	FS_VER_GT_2019_01
	#ifdef	_DLL
		#pragma	comment	(lib, 	"LibXml2-MD.lib")
		#pragma	comment	(lib, 	"Zlib-MD.lib")
	#else
		#pragma	comment	(lib, 	"LibXml2-MT.lib")
		#pragma	comment	(lib, 	"Zlib-MT.lib")
	#endif
#endif

#ifdef	FS_VER_GT_2014_00
	#ifdef	_DLL
		#pragma	comment	(lib, 	"LibFbxSDK-MD.lib")
	#else
		#pragma	comment	(lib, 	"LibFbxSDK-MT.lib")
	#endif
#endif

FBXSDK_VERSION を使用した pragma comment lib の指定

この投稿は役に立ちましたか? 役に立った 役に立たなかった 0 人中 0 人がこの 投稿 は役に立ったと言っています。

  にほんブログ村 IT技術ブログへ


FBX SDK 2019.5

サイトの統計情報を見ていたら,検索キーワードに ” FBX SDK 2019.5 ” があった.
先日調べた時はわからなかったが,2019.5 になったみたい.
https://www.autodesk.com/products/fbx/
FBX SDK 2019.5 ダウンロード


「C/C++」-「全般」-「追加のインクルードディレクトリ」を 2019.5 に.
C:\Program Files\Autodesk\FBX\FBX SDK\2019.2\include;%(AdditionalIncludeDirectories)
C:\Program Files\Autodesk\FBX\FBX SDK\2019.5\include;%(AdditionalIncludeDirectories)
「リンカー」-「全般」-「追加のライブラリディレクトリ」を 2019.5 に.
C:\Program Files\Autodesk\FBX\FBX SDK\2019.2\lib\vs2017\x86\Release;%(AdditionalLibraryDirectories)
C:\Program Files\Autodesk\FBX\FBX SDK\2019.5\lib\vs2017\x86\Release;%(AdditionalLibraryDirectories)

変更する前には,前の設定を残すため「構成マネージャー」でコピーしている.


FBX SDK 2019.0 以前からの更新の場合は libxml2-m?.lib と zlib-m?.lib が増えているのでその変更も必要.
FBX SDK 2019.2 で LNK2019

この投稿は役に立ちましたか? 役に立った 役に立たなかった 0 人中 0 人がこの 投稿 は役に立ったと言っています。

  にほんブログ村 IT技術ブログへ

  • カテゴリー:

FBX SDK 2019.2 で LNK2019

先日の FBX SDK を使用したプロジェクトを VC 2017 と FBX SDK 2019.2 に上げてビルドすると,


LibFbxSDK-MD.lib(fbxmanager.obj) : error LNK2019: 未解決の外部シンボル _xmlCleanupParser が関数 "void __cdecl fbxsdk::Close3rdPartyLibraries(void)" (?Close3rdPartyLibraries@fbxsdk@@YAXXZ) で参照されました。
LibFbxSDK-MD.lib(fbxiosettings.obj) : error LNK2019: 未解決の外部シンボル _xmlStrcmp が関数 "struct _xmlNode * __cdecl fbxsdk::GetChildXmlNode(struct _xmlNode *,class fbxsdk::FbxString *)" (?GetChildXmlNode@fbxsdk@@YAPAU_xmlNode@@PAU2@PAVFbxString@1@@Z) で参照されました。
LibFbxSDK-MD.lib(awCacheDescriptionIO.obj) : error LNK2001: 外部シンボル "_xmlStrcmp" は未解決です。
LibFbxSDK-MD.lib(fbxiosettings.obj) : error LNK2019: 未解決の外部シンボル _xmlNewDoc が関数 "public: virtual bool __thiscall fbxsdk::FbxIOSettings::WriteXMLFile(class fbxsdk::FbxString const &)" (?WriteXMLFile@FbxIOSettings@fbxsdk@@UAE_NABVFbxString@2@@Z) で参照されました。
LibFbxSDK-MD.lib(xmlHelper.obj) : error LNK2001: 外部シンボル "_xmlNewDoc" は未解決です。
...

今まで LibFbxSDK-MD.lib のみだったが,libxml2-md.libzlib-md.lib が増えた(分割された?)みたい.
FBX SDK 2019.2 で LNK2019 未解決の外部シンボル
スタティックリンクの場合は,それぞれ LibFbxSDK-MT.lib , LibXml2-MT.lib , zlib-MT.lib
リンク対象にこれらを加えれば OK .


2019/09/05 FBXSDK_VERSION_MAJOR を利用した方法に変更

この投稿は役に立ちましたか? 役に立った 役に立たなかった 0 人中 0 人がこの 投稿 は役に立ったと言っています。

  にほんブログ村 IT技術ブログへ


VC 2015 x64 プロジェクトで C1128

FBX SDK を使用した VC 2015 x86 プロジェクトを x64 にしたら,
—— ビルド開始: プロジェクト:FBXtoM, 構成:Debug x64 ——
FBXtoM.cpp
FBXtoM.cpp(73): warning C4244: ‘初期化中’: ‘INT_PTR’ から ‘int’ への変換です。データが失われる可能性があります。
FBXtoMDg.cpp
E:\…\FBXtoM\FBXtoMDg.cpp : fatal error C1128: セクションの数がオブジェクト ファイル形式の制限を超えています: /bigobj と共にコンパイルしてください


Release 版では C4244 の warning は出るがビルドできる.
C4244 はアプリケーションクラスの dlg.DoModal の戻り値を int から INT_PTR に
C1128 の対応は x64 Debug 版の「プロパティ」-「C/C++」-「コマンドライン」-「追加のオプション」に /bigobj を追加.
VC 2015  x64 Debug 版のコンパイルオプション /bigobj

この投稿は役に立ちましたか? 役に立った 役に立たなかった 0 人中 0 人がこの 投稿 は役に立ったと言っています。

  にほんブログ村 IT技術ブログへ


FBX SDK static exe

以前から _AFXDLL となっていたプロジェクトを static にすると,エラーがいっぱい.


今までは,DLL 版のライブラリを使用する様になっていた.
  #if defined (FS_Ver200508)
  // #pragma comment (lib, “FbxSDK_MD.lib”)
  // …
  #elif defined (FS_Ver2011_3_1)
     #ifdef _DEBUG
       #pragma comment (lib, “FbxSDK_md2005D.lib”)
     #else
       #pragma comment (lib, “FbxSDK_md2005.lib”)
     #endif
  #elif defined (FS_Ver2013_3)
     #ifdef _DEBUG
       #pragma comment (lib, “FbxSDK-2013.3-mdD.lib”)
     #else
       #pragma comment (lib, “FbxSDK-2013.3-md.lib”)
     #endif
  #else
       #pragma comment (lib, “LibFbxSDK-MD.lib”)
  #endif


_DLL が定義されているかどうかで振り分け.
  #if defined (_DLL)
     #if defined (FS_Ver200508)
     // …
     #else
       #pragma comment (lib, “LibFbxSDK-MD.lib”)
     #endif
  #else
     #if defined (FS_Ver200508)
     // #pragma comment (lib, “FbxSDK_MT.lib”)
     #elif defined (FS_Ver2011_3_1)
       #ifdef _DEBUG
       #pragma comment (lib, “FbxSDK_mt2005D.lib”)
       #else
       #pragma comment (lib, “FbxSDK_mt2005.lib”)
       #endif
     #elif defined (FS_Ver2013_3)
       #ifdef _DEBUG
       #pragma comment (lib, “FbxSDK-2013.3-mtD.lib”)
       #else
       #pragma comment (lib, “FbxSDK-2013.3-mt.lib”)
       #endif
     #else
       #pragma comment (lib, “LibFbxSDK-MT.lib”)
     #endif
  #endif

この投稿は役に立ちましたか? 役に立った 役に立たなかった 0 人中 0 人がこの 投稿 は役に立ったと言っています。

  にほんブログ村 IT技術ブログへ

  • カテゴリー:

FBX の読込で…

FBX の読込で,2013/05 に作成した exe と上の方向の扱いが異なる.

新しくビルドしたものでは,

この投稿は役に立ちましたか? 役に立った 役に立たなかった 0 人中 0 人がこの 投稿 は役に立ったと言っています。

  にほんブログ村 IT技術ブログへ

  • カテゴリー:


    top

    %d人のブロガーが「いいね」をつけました。