Win32APIのSetTimerでコンパイルエラーが出てしまう

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
アバター
sujiniku
記事: 39
登録日時: 5年前

Win32APIのSetTimerでコンパイルエラーが出てしまう

#1

投稿記事 by sujiniku » 5年前

自作中のRPGで、コマンド入力後に1秒おきに戦闘の自動進行する処理を入れようと思い、そのため、タイマーの勉強をしようとしましたが、
ネット上にあるWin32APIの講座を見てソースコードをコンパイルしてみても、エラー LNK2019「未解決の外部シンボル '_main' が関数 "int __cdect invoke_main(void)" (?invoke_main@@YAHXZ) が発生してしまい、動作確認ができないために、勉強そのものを開始できません。

例えばWisdomソフト様のサイトにあるタイマーのコードを実行してみても、
http://wisdom.sakura.ne.jp/system/winap ... win47.html
エラーが出てしまいます。

ほかのサイトでも、例えばeternalWindows様のサイト
http://eternalwindows.jp/winbase/window/window11.html
にあるタイマーのコードをコンパイルしても、やはり同様にエラー(LNK2019)が発生してしまいます。

ほかのサイトでは、コード自体が古いのか別のエラーが出るとか、WinAPIでなくC#など文法が違うなどの理由で、参考にできませんでした。

上記2サイトのコンパイルエラーで、「もしかしてライブラリのインポート不足かな?」と思ったので、msdn のSetTimer
https://msdn.microsoft.com/ja-jp/library/cc411200.aspx を参考に、
「インポートライブラリ:User32.lib を使用」とあるので、
対策として、試しにライブラリを

コード:

#pragma comment(lib, "User32.lib")
#include <windows.h>
でインポートしようとしてみましたが、それでもエラーが出てしまいます。

解決策を教えてください。

なお、そもそもゲームプログラミングで分解能の低いといわれるSetTimerを使うべきかどうかという問題もありますが、とりあえず今回は、まず勉強開始のためにコンパイルエラーを解決する方法をお教えいただきたいと思います。

アバター
sujiniku
記事: 39
登録日時: 5年前

Re: Win32APIのSetTimerでコンパイルエラーが出てしまう

#2

投稿記事 by sujiniku » 5年前

申し訳ございません。

単に私が、Win32デバッグ用のファイルと間違えてコンソール画面デバッグ用のファイルでデバッグしてただけのミスのようです。
Win32用のファイルを作り直したところ、上記のサイトのコードで正常に起動するようになりました。

返信

“C言語何でも質問掲示板” へ戻る