未解決の外部シンボル_mainが 関数"int_cdecl invoke_main(void)"(? invoke_main@@YAHXZ)で参照されました
-------2月17日----------------------------------------
今日、引き続きファイルの操作をしてました
そうするとVisual Studio(以下VS)で
LNK2019
未解決の外部シンボル_mainが
関数"int_cdecl invoke_main(void)"(?
invoke_main@@YAHXZ)で参照されました。
LNK1120
1件の未解決の外部参照
という2つのエラーが出てきました。
ファイルを取り扱っていたので「外部に何か」つまりファイル操作だと思いエラーコードを検索してみました
出てきた記事は
http://dixq.net/forum/viewtopic.php?f=3&t=16967
質問ツールで誰かのサイトとかではないので信頼の点で怒られそうですが
解決したようですし自分で書き込むのも信頼に欠けるので引用させてもらいました
他にもいくつか見てみた結果、要するに
---------------------------------------------------------
Win32プロジェクトでプロジェクトの作成をやらず
Win32コンソールアプリケーションでやればできました!!!!
---------------------------------------------------------
というものがほとんどでした。
が
自分の場合はそれをしても解決しなかったのでTwitterに聞いてみると
-----------------------------------
「main関数のスペルを間違ってました」
「mian」としていました…
-----------------------------------
ファイル関連の作業中に外部に問題があると言われてとても焦りましたが
自分のスペルミスだったんですね…
VSではprintf()とかの綴りを間違えると
C3861
'[綴りを間違えた関数]':識別子が見つかりませんでした
などとエラーが出るので安心していました…
ファイルの前にもっと早くこの間違いをしていればファイルが原因だと思うことはなく
すぐに問題も解決できていたんですが経験が足りなかったです。
以下教えてもらった過程
こんなエラーが出ました…
— りーま(独習C 9章) (@strimuer213p) 2017年2月16日
いろいろ見てみましたが
「新しいWin32コンソールアプリケーション」
と
「新しいWin32アプリケーション」
を間違えていたと多くありますが…
コンソールアプリケーションで何度かやってもダメです… pic.twitter.com/SxdaqJNb51
@strimuer213p スペルを見直そう
— 白山風露 (@kazatsuyu) 2017年2月16日
@kazatsuyu
— りーま(独習C 9章) (@strimuer213p) 2017年2月16日
うわ…main()がmian()になってますね…
これスペルエラーとして検知されないんですか…(VSの温室育ち)
今スマホの写真でパーと見て気づいたので明日パソコンで直してやってみます…
ありがとうございます!
main関数の綴り間違いはVSはエラー出してくれないんですね…
— りーま(独習C 9章) (@strimuer213p) 2017年2月17日
スペルミスは大抵下に赤い波線が出てきて教えてくれるもんだと安心してました…
@strimuer213p 定義のスペルミスをしても別の定義があると見做すだけです。`mian`関数を定義したかったのかもしれないじゃないですか
— 白山風露 (@kazatsuyu) 2017年2月17日
@strimuer213p スペルミスを指摘してくれるエディタもありますが、IntelliSenseは基本的に型チェックをしてくれるだけなので
— 白山風露 (@kazatsuyu) 2017年2月17日
@kazatsuyu
— りーま(独習C 9章) (@strimuer213p) 2017年2月17日
知らなかったので今すこし、調べてみました
"Microsoftの自動補完機能システムの名称"
VSもMicrosoft製だからですか
VSをやっと慣れて来てまだまだ使わせてもらう事になりそうなので仲良く暮らして行こうと思います…