|
|
|
![]() |
|
|||||||
|
||||||||
![]() |
| Thread Tools | Rate Thread | Display Modes |
|
#1
|
|||
|
|||
|
In Linux, compiler can't find standard headers
I've been trying to get the default code to compile under Linux, but I've run into some trouble. So far, I've mostly been following the advice in this thread. I installed the C18 compiler under WINE, and that appears to have worked. I can't yet use a makefile because I can't get individual files to compile. For example, I tried to get main.c to compile with this command:
Code:
mcc18 main.c -fo=main.o Code:
Microchip MCC C18 Compiler
Version 0.0+SVN20050725
DEBUG:Using wine /opt/mcc18/bin/mcc18-traditional main.c -fo=main.o to launch MCC18
fixme:msvcrt:_spawnve :not translating name Z:\opt\mcc18\bin\cpp18 to locate program
C:\first\default_code\ifi_aliases.h:18:Error [1027] unable to locate 'adc.h'
C:\first\default_code\ifi_default.h:13:Error [1027] unable to locate 'p18cxxx.h'
|
|
#2
|
||||
|
||||
|
Re: In Linux, compiler can't find standard headers
This thread may help you get it working, but I'm having problems too.
When I try to compile using the stock configure.py, the wrong processor is used and I run into an "Unknown processor" error. I'm currently working on trying to find where the __18F8722 macro is defined. (actually, it defines that for an older processor... that's what it should be.) Does anyone know? |
|
#3
|
|||
|
|||
|
Re: In Linux, compiler can't find standard headers
Quote:
If all else fails, I suppose we can just #define that macro inside p18cxxx.h. However, configure.py isn't my only problem; I cannot even compile one source file on its own. If you do this: Code:
mcc18 main.c -fo=main.o |
|
#4
|
|||
|
|||
|
Re: In Linux, compiler can't find standard headers
I have a very, very, ugly and cumbersome workaround for the header problem.
If you edit every attempt in the code that includes a mcc18 header (e.g. #include <adc.h>) to include the header from the local directory, it will work. For example, on my computer, mcc18 is installed in ~/.wine/drive_c/mcc18, and the default code is in ~/.wine/drive_c/first/default_code. I created a link in the default code directory with this command: Code:
ln -s ../../mcc18/h . Code:
#include "h/p18c452.h" In any case, if absolutely necessary, changing all these #includes is possible, but if anyone knows of a better solution, please tell me. |
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Let's have Linux Robots Next Year! | jdong | Control System | 52 | 22-08-2005 09:40 |
| printf could not find definition | Alex829 | Programming | 7 | 27-06-2005 10:04 |
| IMPORTANT regarding the new C Compiler | dlavery | General Forum | 12 | 14-01-2005 05:05 |
| Where can I find the new C compiler? | CompMaster | Programming | 2 | 13-01-2005 02:28 |
| Linux C18 compiler? | Servo888 | Robotics Education and Curriculum | 1 | 13-12-2003 01:27 |