PDA

View Full Version : Lỗi :Unrecognized input trong file lkr trong MPLAB C18


bluexylitol
05-12-2009, 11:02 AM
Hi mọi người,

Mình mới dùng MPLAB C18, có lấy một ví dụ mẫu để thử trong thư mục example/getting_started/program1:
/* Compile options: -ml (Large code model) */

#include <stdio.h>

#pragma config WDT = OFF

void main (void)
{
printf ("Hello, world!\n");

while (1)
;
}

trong configurate mình chọn select device là 18f4550 và cũng đã add file: 18f4550_g.lkr trong thư mục bin/lkr vào tuy vậy có lỗi này xảy ra. Mình đã đọc help của MPLAB C18 nhưng ko biết đó là lỗi gì và ko fix được, mọi người giúp mình với, thank mọi người.
Thông báo lỗi:
MPLINK 4.14, Linker
Copyright (c) 2007 Microchip Technology Inc.
Error - Unrecognized input in 'C:\Program Files\MCC18\bin\LKR\18f4550_g.lkr:4': #DEFINE
Errors : 1

Link step failed.
BUILD FAILED: Sat Dec 05 11:06:43 2009

namqn
05-12-2009, 03:08 PM
Hi mọi người,

Mình mới dùng MPLAB C18, có lấy một ví dụ mẫu để thử trong thư mục example/getting_started/program1:
/* Compile options: -ml (Large code model) */

#include <stdio.h>

#pragma config WDT = OFF

void main (void)
{
printf ("Hello, world!\n");

while (1)
;
}

trong configurate mình chọn select device là 18f4550 và cũng đã add file: 18f4550_g.lkr trong thư mục bin/lkr vào tuy vậy có lỗi này xảy ra. Mình đã đọc help của MPLAB C18 nhưng ko biết đó là lỗi gì và ko fix được, mọi người giúp mình với, thank mọi người.
Thông báo lỗi:
MPLINK 4.14, Linker
Copyright (c) 2007 Microchip Technology Inc.
Error - Unrecognized input in 'C:\Program Files\MCC18\bin\LKR\18f4550_g.lkr:4': #DEFINE
Errors : 1

Link step failed.
BUILD FAILED: Sat Dec 05 11:06:43 2009
Tôi đã tạo project và biên dịch chương trình mẫu như bạn, nhưng biên dịch thành công (không tái lập được lỗi mà bạn đã nêu). Tôi dùng MPLAB IDE v8.20, MCC18 v3.31 Academic Edition.

Thân,

bluexylitol
08-12-2009, 10:25 PM
Mình đã phát hiện được lỗi, nguyên nhân là do Mplink của mình là 4.14, là phiên bản không phù hợp, mình đã vào mục Project/Set language tool location để chỉnh lại (dùng mplink trong thư mực MCC18/bin thì đã không còn lỗi nữa, tuy nhiên lại xuất hiện lỗi này. Mong bác namqn và mọi người chỉ giáo?

MPLINK 4.34, Linker
Copyright (c) 2009 Microchip Technology Inc.
Error - could not find definition of symbol 'printf' in file 'E:\Mine\Work\Source\ex1\main.o'.
Errors : 1

Link step failed.

namqn
10-12-2009, 09:52 PM
Mình đã phát hiện được lỗi, nguyên nhân là do Mplink của mình là 4.14, là phiên bản không phù hợp, mình đã vào mục Project/Set language tool location để chỉnh lại (dùng mplink trong thư mực MCC18/bin thì đã không còn lỗi nữa, tuy nhiên lại xuất hiện lỗi này. Mong bác namqn và mọi người chỉ giáo?

MPLINK 4.34, Linker
Copyright (c) 2009 Microchip Technology Inc.
Error - could not find definition of symbol 'printf' in file 'E:\Mine\Work\Source\ex1\main.o'.
Errors : 1

Link step failed.
Bạn kiểm tra thêm cái Library Search path (vào Project>Set Language Tool Location, xổ phần "Default Search Paths & Directories" của "Microchip C18 Toolsuite") xem nó đang trỏ đến thư mục nào. Nếu không phải thư mục con "lib" của thư mục cài đặt bản C18 của bạn thì cần chỉnh lại.

Thân,

bluexylitol
11-12-2009, 02:32 PM
Mình chưa thử như bác namqn nói. Mình nghĩ vấn đề là phiên bản MPLAB C18 3.14 không phù hợp với MPLAB IDE 8.0 nên đã remove C18 đó bằng C18 3.0 và kết quả chạy đã ok. Tuy vậy mình vẫn chưa hiểu tại sao trong C18 3.14 thư mục lkr lại nằm trong thư mục bin, hơn nữa tên của bất cứ file lkr đều kèm thêm phần _g ở cuối? Minh họa như sau:
MCC18\bin\LKR\18f4550_g.lkr