pickit3 レッスンプログラムが動作しません
pickit3 に付属していたサンプルプログラム レッスン 01 Hello LED をビルドしましたが
下記のエラーが表示されます。
解決方法がわかる方、よろしくお願いします
----------------------------------------------------------------------
Release build of project `D:\PIC\PICkit 3 Debug Express Lessons\01 Hello LED\Lesson 1 LED.mcp' started.
Language tool versions: mpasmwin.exe v5.35, mplink.exe v4.35, mcc18.exe v3.35
Thu May 27 16:30:30 2010
----------------------------------------------------------------------
Clean: Deleting intermediary and output files.
Clean: Deleted file "D:\PIC\PICkit 3 Debug Express Lessons\01 Hello LED\01 Hello LED.o".
Clean: Done.
Executing: "C:\Program Files\Microchip\MCC18\bin\mcc18.exe" -p=18F45K20 "01 Hello LED.c" -fo="01 Hello LED.o" -Ou- -Ot- -Ob- -Op- -Or- -Od- -Opa-
MPLAB C18 v3.35 (evaluation)
Copyright 2000-2010 Microchip Technology Inc.
Days remaining until evaluation becomes feature limited: 60
Executing: "C:\Program Files\Microchip\MCC18\bin\mplink.exe" /l"C:\MCC18\lib" "C:\Program Files\Microchip\MPASM Suite\LKR\18F45k20.lkr" "01 Hello LED.o" /u_CRUNTIME /z__MPLAB_BUILD=1 /o"Lesson 1 LED.cof" /M"Lesson 1 LED.map" /W
MPLINK 4.35, Linker
Copyright (c) 1998-2010 Microchip Technology Inc.
Error - could not find definition of symbol 'TRISD' in file './01 Hello LED.o'.
Errors : 1
Link step failed.
----------------------------------------------------------------------
Release build of project `D:\PIC\PICkit 3 Debug Express Lessons\01 Hello LED\Lesson 1 LED.mcp' failed.
Language tool versions: mpasmwin.exe v5.35, mplink.exe v4.35, mcc18.exe v3.35
Thu May 27 16:30:31 2010
----------------------------------------------------------------------
BUILD FAILED
No.2ベストアンサー
- 回答日時:
今度は「Delay10TCYxというシンボルが見付からない」というリンクエラーが出ています。
同じように見直してみてください。> このエラーは、delays.h がリンクされていればOKなんだと思うのですが、、ほかになにかあるのでしょうか?
一般的にヘッダファイルでは外部参照やマクロが宣言されているだけで、実体は別に定義されています。コンパイラは宣言だけで参照の有効(というか、その参照のデータ型が正しく使われているか)を判定しますが、実体があるかどうかは判定しません。なぜなら、コンパイラはソースコードをオブジェクトファイルというコンポーネントに変換するだけで、実行ファイルそのものを作るわけではないからです。
複数のオブジェクトファイルや、それを集めたライブラリファイルを結合し、メモリロケーションを決めて実行ファイルを作るのがリンカです。この時に参照されているシンボルの実体があるかどうかがチェックされます。実態がなければ結合出来ないからです。
したがって、ソースコード自身に実体の定義が無く、ヘッダファイルでは参照の宣言だけがなされているシンボルはライブラリとして提供されている可能性が高いと思われます。
今回、コンパイラでのエラーではなくリンカでのエラーが出ているので、参照の宣言は正しく取り込めているけど、実体を定義したライブラリがリンクされていないと考えるのが妥当だと考えられます。
解決しました^^
わかりやすい説明、ありがとうございました。
レッスン1と見比べてもリンク設定に違いは無く、悩んでいたのですが
ファイル名がちがうことに気づき、ホルダーを
C:\mcc18\lkr\
から
C:\MCC18\bin\LKR
に変更し、
ファイルを
18f45K20i.lkr から、 18f45k20_g.lkr に変更することで
正常に動作しました。
しかし、レッスンといいつつ、こんなに設定変更が必要ってどうなんでしょう
ファイル名も勝手に替えて良いのかな^^;
でも、おかげさまで コンパイルのことがよくわかりました。
ありがとうございました。
No.1
- 回答日時:
エラー内容は「TRISDというシンボルが見付からない」というリンクエラーです。
ソースまたはインクルードファイル内でTRISDの有効な実体が定義されていないか、実体を定義したライブラリファイルがリンクされていないかというところだと思います。
この回答への補足
ありがとうございます
ご指摘のようにリンクが切れていたため、.h 、.lkr ファイルを再設定で動作しました。
レッスン1、2,3 は、設定変更で動作したのですが、
レッスン04では、ホルダーを設定してもエラーとなります。
このエラーは、delays.h がリンクされていればOKなんだと思うのですが、、
ほかになにかあるのでしょうか?
----------------------------------------------------------------------
Release build of project `D:\PIC\PICkit 3 Debug Express Lessons\04 Switch Input\04 Switch Input.mcp' started.
Language tool versions: mpasmwin.exe v5.35, mplink.exe v4.35, mcc18.exe v3.35
Thu May 27 21:16:13 2010
----------------------------------------------------------------------
Clean: Deleting intermediary and output files.
Clean: Deleted file "D:\PIC\PICkit 3 Debug Express Lessons\04 Switch Input\04 Switch Input.o".
Clean: Deleted file "D:\PIC\PICkit 3 Debug Express Lessons\04 Switch Input\04 Switch Input.mcs".
Clean: Done.
Executing: "C:\Program Files\Microchip\MCC18\bin\mcc18.exe" -p=18F45K20 "D:\PIC\PICkit 3 Debug Express Lessons\04 Switch Input\04 Switch Input.c" -fo="04 Switch Input.o" -Ou- -Ot- -Ob- -Op- -Or- -Od- -Opa-
MPLAB C18 v3.35 (evaluation)
Copyright 2000-2010 Microchip Technology Inc.
Days remaining until evaluation becomes feature limited: 60
Executing: "C:\Program Files\Microchip\MCC18\bin\mplink.exe" /l"C:\Program Files\Microchip\MCC18\lib" "C:\Program Files\Microchip\MPASM Suite\LKR\18f45k20i.lkr" "04 Switch Input.o" /u_CRUNTIME /z__MPLAB_BUILD=1 /o"04 Switch Input.cof" /M"04 Switch Input.map" /W
MPLINK 4.35, Linker
Copyright (c) 1998-2010 Microchip Technology Inc.
Error - could not find definition of symbol 'Delay10TCYx' in file './04 Switch Input.o'.
Errors : 1
Link step failed.
----------------------------------------------------------------------
Release build of project `D:\PIC\PICkit 3 Debug Express Lessons\04 Switch Input\04 Switch Input.mcp' failed.
Language tool versions: mpasmwin.exe v5.35, mplink.exe v4.35, mcc18.exe v3.35
Thu May 27 21:16:13 2010
----------------------------------------------------------------------
BUILD FAILED
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Ruby プログラミング 3 2023/06/09 14:30
- その他(プログラミング・Web制作) pythonのこのエラーがわかりません 3 2022/11/16 14:54
- その他(プログラミング・Web制作) pythonでクラスで複数のメソッドを利用する方法 2 2022/04/15 04:17
- その他(プログラミング・Web制作) python OpenPyXLを使って出力結果をエクセルに書き込み 2 2022/06/04 19:46
- 英語 下記はなんていってますか? こんにちは以降、訳していただけたら助かります。 Hello, We’re 1 2023/01/14 00:09
- X(旧Twitter) Hello, We received your appeal regarding your acco 1 2022/09/12 03:57
- Java マイクラでPythonのプログラミングができません 3 2023/05/28 07:15
- その他(プログラミング・Web制作) python fbprophetについて 1 2022/09/29 19:44
- その他(プログラミング・Web制作) ラズパイ上の、pythonのエラーについて 1 2023/04/12 23:27
- その他(学校・勉強) Japanese schools tests 1 2022/08/19 14:41
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
外部依存関係について
-
外部シンボルの未解決のエラー
-
クラスを使ったC++の関数を...
-
LNK2019: 未解決の外部シンボル...
-
.exeファイルが開けません
-
未解決の外部シンボル
-
「外部シンボルが未解決」につ...
-
DB2付きのC言語がコンパイルで...
-
C++の関数をfortranから呼びた...
-
VC++2008でのサンプルプログ...
-
python エラー
-
エクセルのエラーメッセージ「4...
-
<unistd.h>をVisualStudioでつ...
-
アプリケーションのDLLファイル...
-
unsigned long long 型のフォー...
-
<math.h>があるのにsqrtが・...
-
ソフトの開発言語を調べる方法
-
Visual studio2017で、2回目の...
-
適切な変換関数が存在しない???
-
C言語をコンパイルするとコンピ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
外部依存関係について
-
外部シンボルの未解決のエラー
-
コンパイルエラー
-
外部シンボル" ~~"は未解決で...
-
LNK2019: 外部シンボル どのよ...
-
DLL呼び出しAPのリンクエラーに...
-
LNK2001(Pro*c)
-
このプログラムを動かしたいの...
-
error LNK2001について
-
プロセスIDの取得の方法。
-
エラー 未解決の外部シンボル
-
C++ の LNK2001エラー
-
パブリックシンボルとは?
-
OpenCVでの画像サイズ取得につ...
-
C言語のエラー LNK1120: 外部参照
-
C++でのエラー LNK2001
-
「外部参照 1 が未解決です。」...
-
Visual Stdio.netでビルドがで...
-
エラー lnk2019について
-
wsprintfのエラーについて
おすすめ情報