BCC使用です。
Error: 外部シンボル 'ChangeWindowMode(int)' が未解決
Error: 外部シンボル 'DxLib_Init()' が未解決
Error: 外部シンボル 'SetDrawScreen(int)' が未解決
Error: 外部シンボル 'ScreenFlip()' が未解決Error: 外部シンボル 'ProcessMessage()' が未解決
Error: 外部シンボル 'ClearDrawScreen()' が未解決
Error: 外部シンボル 'GetHitKeyStateAll(char *)' が未解決
Error: 外部シンボル 'DxLib_End()' が未解決
というコンパイルエラーが出てしまいます・・・
2章のmain.cppの内容をコピペし、コンパイルした結果です。
解決させるにはどうしたらいいでしょうか?
コンパイルエラー
Re:コンパイルエラー
> というコンパイルエラーが出てしまいます・・・
リンクエラーです。コンパイルエラーではありません。
> 2章のmain.cppの内容をコピペし、コンパイルした結果です。
main.cppだけでは、実行プログラムを作成できないのではないでしょうか。
未解決だといわれている関数群を含むソースファイルも、
いっしょにコンパイル・リンクする必要があるのではないでしょうか。
【リンクエラーとは】
main.cpp内のmain関数から、funcという関数を呼び出しているとします。
そして、func関数の定義はmain.cppには存在しないとします。
この状態で、main.cppだけから実行ファイルを作成しようとした場合を考えます。
main.cppをコンパイルすると、
「main関数から、どこかにあるfunc関数を呼び出すのだな」という情報を保持し、
コンパイルは正常に終了します。main.cppからのオブジェクトファイルができます。
次に、C言語の標準関数(例:printf)や、自作の関数群を
結合させて(リンク)、実行ファイルを作成しようとします。
このとき、func関数をコンパイルしたオブジェクトファイルが
見あたりませんので、リンカー(リンクを担当するプログラム)は
「func関数が未解決」という判断を下します。実行ファイルは作成できません。
これが、リンクエラーです。
リンクエラーです。コンパイルエラーではありません。
> 2章のmain.cppの内容をコピペし、コンパイルした結果です。
main.cppだけでは、実行プログラムを作成できないのではないでしょうか。
未解決だといわれている関数群を含むソースファイルも、
いっしょにコンパイル・リンクする必要があるのではないでしょうか。
【リンクエラーとは】
main.cpp内のmain関数から、funcという関数を呼び出しているとします。
そして、func関数の定義はmain.cppには存在しないとします。
この状態で、main.cppだけから実行ファイルを作成しようとした場合を考えます。
main.cppをコンパイルすると、
「main関数から、どこかにあるfunc関数を呼び出すのだな」という情報を保持し、
コンパイルは正常に終了します。main.cppからのオブジェクトファイルができます。
次に、C言語の標準関数(例:printf)や、自作の関数群を
結合させて(リンク)、実行ファイルを作成しようとします。
このとき、func関数をコンパイルしたオブジェクトファイルが
見あたりませんので、リンカー(リンクを担当するプログラム)は
「func関数が未解決」という判断を下します。実行ファイルは作成できません。
これが、リンクエラーです。
Re:コンパイルエラー
良くは見てませんが、
Error: 外部シンボル 'DxLib_Init()' が未解決
Error: 外部シンボル 'DxLib_End()' が未解決
があるので、DxLib が、正常にリンクできるように設定されていないのでは?
未解決といわれる関数郡を、コンパイルして、ライブラリにしたものが、DxLib の中に有ると思われますので、
それをリンク出来る状態にすればいけそうな気がしますが。
2章以前の、環境の設定の仕方を見直したほうがいい気がします。
Error: 外部シンボル 'DxLib_Init()' が未解決
Error: 外部シンボル 'DxLib_End()' が未解決
があるので、DxLib が、正常にリンクできるように設定されていないのでは?
未解決といわれる関数郡を、コンパイルして、ライブラリにしたものが、DxLib の中に有ると思われますので、
それをリンク出来る状態にすればいけそうな気がしますが。
2章以前の、環境の設定の仕方を見直したほうがいい気がします。