リンクエラー
玄海太郎  2014/12/19(Fri) 06:52
Siv3Dをインストールして、プロジェクトを作成した直後の状態で、
ビルドすると以下のようなエラーが起きます。
ほかにサンプルプログラムなどに書き換えてビルドしても
やはり、すべて同じエラーが起こります。
どなたかお心当たり方、ご教示いただければ幸いです。

1>Siv3D_d.lib(CInput.obj) : error LNK2019: 未解決の外部シンボル __imp__RegisterTouchWindow@8 が関数 "public: virtual void __thiscall CInput::init(struct HWND__ &)" (?init@CInput@@UAEXAAUHWND__@@@Z) で参照されました。
1>Siv3D_d.lib(WindowProc.obj) : error LNK2019: 未解決の外部シンボル __imp__GetTouchInputInfo@16 が関数 "long __stdcall WindowProc(struct HWND__ *,unsigned int,unsigned int,long)" (?WindowProc@@YGJPAUHWND__@@IIJ@Z) で参照されました。
1>Siv3D_d.lib(WindowProc.obj) : error LNK2019: 未解決の外部シンボル __imp__CloseTouchInputHandle@4 が関数 "long __stdcall WindowProc(struct HWND__ *,unsigned int,unsigned int,long)" (?WindowProc@@YGJPAUHWND__@@IIJ@Z) で参照されました。

[ 使用環境 ]

Windows8
Visual Studio 2013 update 4
Siv3D(November2014v2)

ちなみにユーザー環境変数のSIV3D_20141101も正しくセットされていますし、
プロジェクトの「構成プロパティ」の「VC++ディレクトリ」の
「インクルードディレクトリ」も「ライブラリディレクトリ」も正しく
セットされています。
記事編集
Reputeless  2014/12/19(Fri) 06:58
# include <Siv3D.hpp> のあとに
# pragma comment (lib, "user32")
を記述するとどうでしょうか?
編集
Reputeless  2014/12/19(Fri) 07:06
user32.lib は本来、明示的に記述しなくともリンクされると認識しています。
プロジェクトをもう一度作成してみても、同様のエラーが出ますか?
編集
玄海太郎  2014/12/23(Tue) 01:34
> Reputeless様

さっそくアドバイスをいただきましたのに、お返事が遅くなりまして、
申し訳ありません。ありがとうございます。

> # include <Siv3D.hpp> のあとに
> # pragma comment (lib, "user32")
> を記述するとどうでしょうか?

やってみました。やはり現象は全く同じです。
ちなみに「構成プロパティ」の「リンカ」の「入力」
に明示的にライブラリファイルを書き込んでも
変わりません。

プロジェクトを作り直したり、Siv3dの再インストール、
環境変数の再設定、などを行っても変わりありません。

Siv3DのバージョンをNovember2014v2からMay2014v2に
変えて再インストールしても、やはり全く同じ
エラーがでます。

何かお心当たりがありましたら、ご教示いただけ
ませんでしょうか。よろしくお願いいたします。
編集
Reputeless  2014/12/23(Tue) 12:05
過去の Visual Studio とライブラリディレクトリの設定が競合している可能性があります。
プロジェクトのプロパティ
+ 構成プロパティ
+ VC++ ディレクトリ
+ ライブラリディレクトリ
を選択してライブラリディレクトリウィンドウを開き、|マクロ| ボタンで表示される設定一覧の中で、

$(WindowsSDK_LibraryPath_x86)

C:\Program Files (x86)\Windows Kits\8.1\Lib\winv6.3\um\x86

になっているかを確かめてみてください。
もし、なっていなかった場合
C:\Program Files (x86)\Windows Kits\8.1\Lib\winv6.3\um\x86
をウィンドウ上部のリストに追加してみてください。
編集
玄海太郎  2014/12/24(Wed) 11:44
アドバイスありがとうございます!
ご指摘のように、Windows SDKの以前のバージョンをインストールしていたため、競合が起こっていたようです。Windows Kitsをインストールし直して、VC++ ディレクトリ->ライブラリディレクトリの設定を適切に直したところ、正常にビルドできました。
おかげさまでめでたく一歩が踏み出せました。
ありがとうございました!!
編集
Reputeless  2014/12/24(Wed) 13:52
無事インストールできたようで良かったです。

今回の情報は今後のユーザの役にも立つと思います。
ご報告ありがとうございました。
編集
件名
Re: リンクエラー
名前
コメント
画像添付


投稿修正キー (投稿を修正する時に使います)
画像認証 (右画像の数字を入力) 投稿キー

- WEB PATIO -