fbxsdk でアニメーション関連の機能を使ったらリンクエラー | puarts.com
映像・CG・画像処理関連の技術情報、個人作品の創作記録、メモなど
Category

fbxsdk でアニメーション関連の機能を使ったらリンクエラー

公開日: 2017/11/26 | カテゴリ: C/C++ | タグ: C++, 3DCG, FBX SDK

昔作っていたモデル描画プログラムで fbx ファイルからアニメーション読み込み対応しようと、FBXSDK のアニメーション機能を使ってみたところ、以下のリンクエラーが発生しました。

error LNK2001: 外部シンボル ""public: static class fbxsdk::FbxClassId fbxsdk::FbxAnimStack::ClassId" (?ClassId@FbxAnimStack@fbxsdk@@2VFbxClassId@2@A)" は未解決です。
error LNK2001: 外部シンボル ""class fbxsdk::FbxDataType fbxsdk::FbxColor3DT" (?FbxColor3DT@fbxsdk@@3VFbxDataType@1@A)" は未解決です。
error LNK2001: 外部シンボル ""class fbxsdk::FbxDataType fbxsdk::FbxColor4DT" (?FbxColor4DT@fbxsdk@@3VFbxDataType@1@A)" は未解決です。
error LNK2001: 外部シンボル ""private: static void (__cdecl* fbxsdk::FbxAnimCurveKey::mDeallocatorFct)(class fbxsdk::FbxAnimCurveKey_Impl *)" (?mDeallocatorFct@FbxAnimCurveKey@fbxsdk@@0P6AXPEAVFbxAnimCurveKey_Impl@2@@ZEA)" は未解決です。
error LNK2001: 外部シンボル ""public: static class fbxsdk::FbxClassId fbxsdk::FbxAnimLayer::ClassId" (?ClassId@FbxAnimLayer@fbxsdk@@2VFbxClassId@2@A)" は未解決です。

これまで頂点データの読み込み等は問題なく行えていたので、なぜアニメーション関連の機能だけリンクエラーになるんだろうと思って、ネットで調べたところ、Autodesk のフォーラムで同じ問題にはまっている人がいました。

https://forums.autodesk.com/t5/fbx-forum/cannot-find-static-symbol/td-p/5816698

こちらのフォーラムにあるように私も libfbxsdk.lib をリンクしていたのですが、これではなく libfbxsdk-md.lib の方をリンクしたらビルドが通るようになりました。FBXSDK のライブラリディレクトリには fbxsdk.lib、fbxsdk-mt.lib、fbxsdk-md.lib の3つがありますが、mt と md は意味はわかるのですが、無印のは何用なんでしょうか。アニメーション機能を利用するまでは libfbxsdk.lib でもちゃんとビルド通るし、この lib の役割がよくわからないですね。


  このエントリーをはてなブックマークに追加  

にほんブログ村 デザインブログ グラフィックアートへ
Links

参考になりそうなブログやサイトを見つけたら勝手にリンクを貼らせてもらっています。
リンク削除を希望の場合はお手数ですがメールにてご一報下さい。
Ke-Sen Huang's Home Page        Disney Research        VIDEO COPILOT        AbandonedArt.org
ryoji ikeda        チームラボ        トルク with AR三兄弟        DAITO MANABE

Copyright(C)2006-2018 wsp All Rights Reserved