- ベストアンサー
ロベールのC++入門講座のコードに関する質問
- C++入門講座のコードに関して質問があります。
- エラーメッセージが表示されて実行できません。
- ヘッダーファイルの記述方法がわかりません。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
あなたは、「extern “C” int StrCount(const char* str, char ch); で StrCount と言う関数がどこかにあるからコンパイル後にリンクしてね」と宣言しています。 それなのに、 StrCountがどこにもないので、リンカーが「そんな関数ないよ?」とエラーを出しています。 本がないからわかりませんが、StrCountの関数があるヘッダファイルをインクルードするか、StrCountの関数をあなたが定義しなければいけません。
その他の回答 (2)
- qwertfk
- ベストアンサー率67% (55/81)
ファイル名が、ExternC1.cppとなっていますが、おそらくソースファイルを複数に分ける 方法についての練習問題ではないでしょうか? 本を持っていないので詳細がわかりませんが、おそらく、StrCountの中身が入ったcppファイルどこかにがあってそれと、ExternC1.cppを両方ビルドして、それらをリンクして使う方法が書かれていないでしょうか? このソースをみるかぎりでは、このファイルには修正は必要ないと思います。
お礼
ご指摘有難うございます。教本を見直しましたが、それらしきcppファイルは見当たりませんでした。さらに研究してみます。
- wormhole
- ベストアンサー率28% (1626/5665)
「ロベールのC++入門講座」は読んだことありませんがエラーメッセージを読む限り 必要なのはヘッダファイルではなくライブラリではないかと。 >1>Sample.obj : error LNK2019: 未解決の外部シンボル _StrCount が関数 _main で参照されました。 >1>C:\Users\YUZO\documents\visualstudio2010\Projects\Sample\Debug\Sample.exe : fatal error LNK1120: 外部参照 1 が未解決です。
お礼
ご教授有難うございます。研究してみます。
お礼
的確なご指摘を有難うございます。教本を読み直し、試行錯誤研究してみます。