趣味120%で構成されています。

あほナビあほナビ関係はこちら。 | 古いアプリ公開場はここらへん

環境構築中2

とりあえずソース互換の無くしたところを修正し終わったところで
最後にリンカエラー。

というか、DirectX SDK のヘッダ内部でコンパイルワーニングってどうよ? どうなのさ!? みたいな。
ま、問題の無いワーニングなのでそれは無視して、問題のリンカエラーは次のとおり。

upnp.obj : error LNK2019: 未解決の外部シンボル "wchar_t * __stdcall _com_util::ConvertStringToBSTR(char const *)" (?ConvertStringToBSTR@_com_util@@YGPA_WPBD@Z) が関数 "public: __thiscall _bstr_t::Data_t::Data_t(char const *)" (??0Data_t@_bstr_t@@QAE@PBD@Z) で参照されました。

upnp.obj : error LNK2019: 未解決の外部シンボル "char * __stdcall _com_util::ConvertBSTRToString(wchar_t *)" (?ConvertBSTRToString@_com_util@@YGPADPA_W@Z) が関数 "public: char const * __thiscall _bstr_t::Data_t::GetString(void)const " (?GetString@Data_t@_bstr_t@@QBEPBDXZ) で参照されました。

Debug/miniAVG64.exe : fatal error LNK1120: 外部参照 2 が未解決です。


と、見るからに ConvertStringToBSTR やら ConvertBSTRToString の実体リンクミス。
ただ、使ってないんだけどねこの関数達は!

で、渋々とこれらの関数のある comsuppw.lib をソースの中に

#pragma comment(lib,"comsuppw.lib")


てな埋め込みをしてコンパイルをしてみたところ……

comsuppw.lib(comutil.obj) : error LNK2005: "class _variant_t vtMissing" (?vtMissing@@3V_variant_t@@A) は既に comsupp.lib(comutil.obj) で定義されています。


ちょwww
どうやら、別のライブラリが異なる同一関数のライブラリとバッティングを起こしている様子。
で、リンカオプションで comutil.lib を無視に追加することでやっと解決。

さすがマイクロソフト!

で、ソース埋め込みを指定を辞めて
リンカオプションで comsuppw.lib を追加すると無視も指定せずにコンパイルが通りました。

さすがマイクr
プログラミング | comments (0) | trackbacks (0)

環境構築中

DirectXもVC6.0最後の2004から、最新に変更。
これによって、Windows2000での開発互換が無くなったソースになった。

2000は安定としてはいいけど、さすがにいろいろと時代に取り残されているので、今回を持って切り捨てました。
いくら動作が安定してても動かないものが出てきたらダメだね。

てことで、不本意ながらXp用に2000ライブラリを一気にカット。
ついでに XInput を使った開発も出来るようになるしね。

そんないまは miniAVG64 の新環境修正中。
.net2003+DirectX2004SDK から .net2005+DirectX2006 に自動変更してコンパイルを掛けたら、
コアシステム:ワーニング51個 エラー3個。
  カーネル:ワーニング 9個 エラー1個。
テストアプリ:ワーニング 8個 エラー0個。

ヽ(;´д`)ノ
プログラミング | comments (0) | trackbacks (0)
1/1