[fpc-pascal] More OS X problems
Paul Davidson
pdavidson at coraxnetworks.com
Wed Oct 14 16:11:03 CEST 2009
Thank you
Changing the mode in the project fixed all problems. System now
compiles correctly.
pd
On 2009-10-13, at 4:14 PM, Jonas Maebe wrote:
> Paul Davidson wrote on Tue, 13 Oct 2009:
>
>> OS X 10.6.1 FPC 2.2.4 Xcode 3.2 (64 bit)
>>
>> Using code base that has complied correctly since 2004
>>
>> Fixed $MODE OBJFPC
>
> What exactly did you fix and how? Marco mentioned something about
> duplicate mode switches, but if you want help you really have to be
> more specific.
>
>> 1) A unit with identical first few lines as several other
>> successfully compiled units gives a 'Identifier not found "class"
>> error. Following is start of file:
>>
>> {
>> tccStack.pas
>> corax60
>> Created by Paul Davidson on 2005/01/01.
>> Copyright (c) 2005 Corax Networks.Inc.. All rights reserved.
>> }
>> unit cStack;
>> {$I Directives.inc}
>> interface
>> uses
>> SysUtils;
>> type
>> tccStack = class( TObject ) {Barfs here}
>
> It means that the file is not being compiled in Delphi or ObjFPC
> mode. What happens if you add {$mode objfpc} before the {$i
> Directives.inc} statement? Does the compiler then complain about an
> illegal/duplicate mode switch? What are the contents of that
> Directives.inc file?
>
> Note that the default compilation mode for the Xcode projects is
> MacPas mode (set via the command line options; see the "FPC Xcode
> ReadMe.rtf" on the installer disk image for information about where
> you can see and change these parameters), so if you don't add any
> {$mode xxx} statement, that's what your code will use.
>
>> 2) All .s files give a "Command /Developer/usr/bin/gcc-4.2 failed
>> with exit code 1
>
> How did you create the project? Did you use a template included with
> FPC 2.2.4? (if so, which one) Are the errors for units that are
> actually used by your main program? If not, have you tried following
> the these instructions from the "FPC Xcode ReadMe.rtf" file on the
> installer disk image under point "6. Troubleshooting and FAQs":
>
> ***
> 1) Q: What can I do when getting the following error after building:
>
> powerpc-apple-darwin8-gcc-4.0.1: warning: '-x assembler-with-cpp'
> after last input file has no effect
> powerpc-apple-darwin8-gcc-4.0.1: no input files
> powerpc-apple-darwin8-gcc-4.0 failed with exit code 1
>
> • A: Short answer: click on the disclosure triangle next to the
> Targets group, then next to the target with the same name as your
> project, and then next to its "Compile Sources" phase. Remove any
> sources from that phase which are not actually used by your program.
>
> Long answer: the projects work in two phases. First, FPC is used to
> compile all sources from Pascal to assembler code. Next, Xcode calls
> gcc to assemble the resulting files, links them together and builds
> the application bundle (Xcode refuses to link if we let FPC directly
> generates object code). If you remove a unit from the uses clause of
> your program, FPC will no longer compile this unit. Subsequently,
> there will be no assembler code for gcc to assemble, and Xcode will
> pass an "empty filename" to gcc, causing the error displayed above.
> ***
>
>
> Jonas
>
> ----------------------------------------------------------------
> This message was sent using IMP, the Internet Messaging Program.
> _______________________________________________
> fpc-pascal maillist - fpc-pascal at lists.freepascal.org
> http://lists.freepascal.org/mailman/listinfo/fpc-pascal
More information about the fpc-pascal
mailing list