Release compile failure

  • I've got a bit of a problem with Xcode, and I would appreciate some
    help figuring it out.

    I am using Xcode 2.4.1 on my TiBook running 10.4.11

    I have a project the compiles and runs perfectly in the "Debug"
    configuration, but when I switch to "Release" configuration, I get a
    slug (highly technical term, meaning "a lot" ;-) ) of "Multiple
    definitions of symbol" errors.

    /usr/bin/ld: multiple definitions of symbol _ACMTriggerEnabledVisibleKey
    /usr/bin/ld: multiple definitions of symbol _shortRange

    are two of the errors, and they are all variable names with an
    underbar at the beginning (ie - I have a variable named shortRange,
    but not _shortRange). In searching my files, none of them are defined
    more than once. The examples listed above are an NSString and an
    NSRange (respectively). They are also defined in two different Class
    files.

    These errors are preceded with the following related errors:

    /usr/bin/ld: multiple definitions of symbol _ACMTriggerEnabledVisibleKey

    /Users/chiron/Documents/Development/A C M/build/A C M.build/Release/A
    C M.build/Objects-normal/ppc/InterfaceController.o private external
    definition of _ACMTriggerEnabledVisibleKey in section (__DATA,__data)

    /Users/chiron/Documents/Development/A C Master/build/A C Master.build/
    Release/A C Master.build/Objects-normal/ppc/PreferenceController.o
    private external definition of _ACMTriggerEnabledVisibleKey in section
    (__DATA,__data)

    /Users/chiron/Documents/Development/A C M/build/A C M.build/Release/A
    C M.build/Objects-normal/ppc/DocumentSettings.o private external
    definition of _ACMTriggerEnabledVisibleKey in section (__DATA,__data)

    /Users/chiron/Documents/Development/A C M/build/A C M.build/Release/A
    C M.build/Objects-normal/ppc/ShowModeInterface.o private external
    definition of _ACMTriggerEnabledVisibleKey in section (__DATA,__data)

    /usr/bin/ld: multiple definitions of symbol _shortRange

    /Users/chiron/Documents/Development/A C M/build/ACM.build/Release/A C
    M.build/Objects-normal/ppc/InterfaceController.o private external
    definition of _shortRange in section (__DATA,__data)

    /Users/chiron/Documents/Development/A C M/build/A C M.build/Release/A
    C M.build/Objects-normal/ppc/PreferenceController.o private external
    definition of _shortRange in section (__DATA,__data)

    /Users/chiron/Documents/Development/A C M/build/A C M.build/Release/A
    C M.build/Objects-normal/ppc/DocumentSettings.o private external
    definition of _shortRange in section (__DATA,__data)

    /Users/chiron/Documents/Development/A C M/build/A C M.build/Release/A
    C M.build/Objects-normal/ppc/ShowModeInterface.o private external
    definition of _shortRange in section (__DATA,__data)

    Also, if it helps, ACMTriggerEnabledVisibleKey is used in my
    PrefencesController class and is defined:
    NSString *ACMTriggerEnabledVisibleKey =
    @"triggerEnabledIsVisibleInTable"

    and shortRange is used in the InterfaceController Class (my Main) and
    is used to extract a portion of an NSString. Defined:
    NSRange shortRange = { 2, 8 };

    I am sure that I am over-looking something obvious, but for the life
    of me, I cannot figure it out

    Thanks, in advance, for any help!!

    ***** Paul *****
    <chiron...>
    <chiron1...>
    ICQ #11034669

    -----

    "They that can give up essential liberty to obtain a little temporary
    safety deserve neither liberty nor safety."

    Benjamin Franklin, Historical Review of Pennsylvania, 1759
  • Are you possibly including the same source file more than once? (For
    example via a project specific framwork?)
    On 12 jan 2008, at 01.13, Paul wrote:

    > I've got a bit of a problem with Xcode, and I would appreciate some
    > help figuring it out.
    >
    > I am using Xcode 2.4.1 on my TiBook running 10.4.11
    >
    > I have a project the compiles and runs perfectly in the "Debug"
    > configuration, but when I switch to "Release" configuration, I get a
    > slug (highly technical term, meaning "a lot" ;-) ) of "Multiple
    > definitions of symbol" errors.
    >
    > /usr/bin/ld: multiple definitions of symbol
    > _ACMTriggerEnabledVisibleKey
    > /usr/bin/ld: multiple definitions of symbol _shortRange
    >
    > are two of the errors, and they are all variable names with an
    > underbar at the beginning (ie - I have a variable named shortRange,
    > but not _shortRange). In searching my files, none of them are
    > defined more than once. The examples listed above are an NSString
    > and an NSRange (respectively). They are also defined in two
    > different Class files.
    >
    > These errors are preceded with the following related errors:
    >
    > /usr/bin/ld: multiple definitions of symbol
    > _ACMTriggerEnabledVisibleKey
    >
    > /Users/chiron/Documents/Development/A C M/build/A C M.build/Release/
    > A C M.build/Objects-normal/ppc/InterfaceController.o private
    > external definition of _ACMTriggerEnabledVisibleKey in section
    > (__DATA,__data)
    >
    > /Users/chiron/Documents/Development/A C Master/build/A C
    > Master.build/Release/A C Master.build/Objects-normal/ppc/
    > PreferenceController.o private external definition of
    > _ACMTriggerEnabledVisibleKey in section (__DATA,__data)
    >
    > /Users/chiron/Documents/Development/A C M/build/A C M.build/Release/
    > A C M.build/Objects-normal/ppc/DocumentSettings.o private external
    > definition of _ACMTriggerEnabledVisibleKey in section (__DATA,__data)
    >
    > /Users/chiron/Documents/Development/A C M/build/A C M.build/Release/
    > A C M.build/Objects-normal/ppc/ShowModeInterface.o private external
    > definition of _ACMTriggerEnabledVisibleKey in section (__DATA,__data)
    >
    > /usr/bin/ld: multiple definitions of symbol _shortRange
    >
    > /Users/chiron/Documents/Development/A C M/build/ACM.build/Release/A
    > C M.build/Objects-normal/ppc/InterfaceController.o private external
    > definition of _shortRange in section (__DATA,__data)
    >
    > /Users/chiron/Documents/Development/A C M/build/A C M.build/Release/
    > A C M.build/Objects-normal/ppc/PreferenceController.o private
    > external definition of _shortRange in section (__DATA,__data)
    >
    > /Users/chiron/Documents/Development/A C M/build/A C M.build/Release/
    > A C M.build/Objects-normal/ppc/DocumentSettings.o private external
    > definition of _shortRange in section (__DATA,__data)
    >
    > /Users/chiron/Documents/Development/A C M/build/A C M.build/Release/
    > A C M.build/Objects-normal/ppc/ShowModeInterface.o private external
    > definition of _shortRange in section (__DATA,__data)
    >
    >
    >
    > Also, if it helps, ACMTriggerEnabledVisibleKey is used in my
    > PrefencesController class and is defined:
    > NSString *ACMTriggerEnabledVisibleKey =
    > @"triggerEnabledIsVisibleInTable"
    >
    > and shortRange is used in the InterfaceController Class (my Main)
    > and is used to extract a portion of an NSString. Defined:
    > NSRange shortRange = { 2, 8 };
    >
    > I am sure that I am over-looking something obvious, but for the life
    > of me, I cannot figure it out
    >
    > Thanks, in advance, for any help!!
    >
    > ***** Paul *****
    > <chiron...>
    > <chiron1...>
    > ICQ #11034669
    >
    > -----
    >
    > "They that can give up essential liberty to obtain a little
    > temporary safety deserve neither liberty nor safety."
    >
    > Benjamin Franklin, Historical Review of Pennsylvania, 1759

    -------------------------------------
    This sig is dedicated to the advancement of Nuclear Power
    Tommy Nordgren
    <tommy.nordgren...>
  • The only frameworks I am using are Apple's.

    On Jan 11, 2008, at 7:59 PM, Tommy Nordgren wrote:

    > Are you possibly including the same source file more than once? (For
    > example via a project specific framwork?)
    > On 12 jan 2008, at 01.13, Paul wrote:
    >
    >> I've got a bit of a problem with Xcode, and I would appreciate some
    >> help figuring it out.
    >>
    >> I am using Xcode 2.4.1 on my TiBook running 10.4.11
    >>
    >> I have a project the compiles and runs perfectly in the "Debug"
    >> configuration, but when I switch to "Release" configuration, I get
    >> a slug (highly technical term, meaning "a lot" ;-) ) of "Multiple
    >> definitions of symbol" errors.
    >>
    >> /usr/bin/ld: multiple definitions of symbol
    >> _ACMTriggerEnabledVisibleKey
    >> /usr/bin/ld: multiple definitions of symbol _shortRange
    >>
    >> are two of the errors, and they are all variable names with an
    >> underbar at the beginning (ie - I have a variable named shortRange,
    >> but not _shortRange). In searching my files, none of them are
    >> defined more than once. The examples listed above are an NSString
    >> and an NSRange (respectively). They are also defined in two
    >> different Class files.
    >>
    >> These errors are preceded with the following related errors:
    >>
    >> /usr/bin/ld: multiple definitions of symbol
    >> _ACMTriggerEnabledVisibleKey
    >>
    >> /Users/chiron/Documents/Development/A C M/build/A C M.build/Release/
    >> A C M.build/Objects-normal/ppc/InterfaceController.o private
    >> external definition of _ACMTriggerEnabledVisibleKey in section
    >> (__DATA,__data)
    >>
    >> /Users/chiron/Documents/Development/A C Master/build/A C
    >> Master.build/Release/A C Master.build/Objects-normal/ppc/
    >> PreferenceController.o private external definition of
    >> _ACMTriggerEnabledVisibleKey in section (__DATA,__data)
    >>
    >> /Users/chiron/Documents/Development/A C M/build/A C M.build/Release/
    >> A C M.build/Objects-normal/ppc/DocumentSettings.o private external
    >> definition of _ACMTriggerEnabledVisibleKey in section (__DATA,__data)
    >>
    >> /Users/chiron/Documents/Development/A C M/build/A C M.build/Release/
    >> A C M.build/Objects-normal/ppc/ShowModeInterface.o private external
    >> definition of _ACMTriggerEnabledVisibleKey in section (__DATA,__data)
    >>
    >> /usr/bin/ld: multiple definitions of symbol _shortRange
    >>
    >> /Users/chiron/Documents/Development/A C M/build/ACM.build/Release/A
    >> C M.build/Objects-normal/ppc/InterfaceController.o private external
    >> definition of _shortRange in section (__DATA,__data)
    >>
    >> /Users/chiron/Documents/Development/A C M/build/A C M.build/Release/
    >> A C M.build/Objects-normal/ppc/PreferenceController.o private
    >> external definition of _shortRange in section (__DATA,__data)
    >>
    >> /Users/chiron/Documents/Development/A C M/build/A C M.build/Release/
    >> A C M.build/Objects-normal/ppc/DocumentSettings.o private external
    >> definition of _shortRange in section (__DATA,__data)
    >>
    >> /Users/chiron/Documents/Development/A C M/build/A C M.build/Release/
    >> A C M.build/Objects-normal/ppc/ShowModeInterface.o private external
    >> definition of _shortRange in section (__DATA,__data)
    >>
    >>
    >>
    >> Also, if it helps, ACMTriggerEnabledVisibleKey is used in my
    >> PrefencesController class and is defined:
    >> NSString *ACMTriggerEnabledVisibleKey =
    >> @"triggerEnabledIsVisibleInTable"
    >>
    >> and shortRange is used in the InterfaceController Class (my Main)
    >> and is used to extract a portion of an NSString. Defined:
    >> NSRange shortRange = { 2, 8 };
    >>
    >> I am sure that I am over-looking something obvious, but for the
    >> life of me, I cannot figure it out
    >>
    >> Thanks, in advance, for any help!!
    >>
    >> ***** Paul *****
    >> <chiron...>
    >> <chiron1...>
    >> ICQ #11034669
    >>
    >> -----
    >>
    >> "They that can give up essential liberty to obtain a little
    >> temporary safety deserve neither liberty nor safety."
    >>
    >> Benjamin Franklin, Historical Review of Pennsylvania, 1759
    >
    > -------------------------------------
    > This sig is dedicated to the advancement of Nuclear Power
    > Tommy Nordgren
    > <tommy.nordgren...>
    >
    >
    >
    >

    ***** Paul *****
    <chiron...>
    <chiron1...>
    ICQ #11034669

    -----

    >>> Bozosity Of The Day <<<

    Daily proof that there is no shortage of bozosity when it comes to
    expert pontifications. From garage.com:
    ------------------------------------------------------------------

    "This crash is not going to have much effect on business."

    -- Arthur Reynolds, Oct. 24, 1929 (Chairman of Continental Illinois
    Bank of Chicago)
  • Another possibility: Look for #include and #import preprocessor
    statements.
    I remember that once I managed to type the name of an implementation
    file
    instead of a header file into  and #include statement. This would
    cause the symptoms you
    describe.
    On 12 jan 2008, at 02.20, Paul wrote:

    > The only frameworks I am using are Apple's.
    >
    > On Jan 11, 2008, at 7:59 PM, Tommy Nordgren wrote:
    >
    >> Are you possibly including the same source file more than once?
    >> (For example via a project specific framwork?)
    >> On 12 jan 2008, at 01.13, Paul wrote:
    >>
    >>> I've got a bit of a problem with Xcode, and I would appreciate
    >>> some help figuring it out.
    >>>
    >>> I am using Xcode 2.4.1 on my TiBook running 10.4.11
    >>>
    >>> I have a project the compiles and runs perfectly in the "Debug"
    >>> configuration, but when I switch to "Release" configuration, I get
    >>> a slug (highly technical term, meaning "a lot" ;-) ) of "Multiple
    >>> definitions of symbol" errors.
    >>>
    >>> /usr/bin/ld: multiple definitions of symbol
    >>> _ACMTriggerEnabledVisibleKey
    >>> /usr/bin/ld: multiple definitions of symbol _shortRange
    >>>
    >>> are two of the errors, and they are all variable names with an
    >>> underbar at the beginning (ie - I have a variable named
    >>> shortRange, but not _shortRange). In searching my files, none of
    >>> them are defined more than once. The examples listed above are an
    >>> NSString and an NSRange (respectively). They are also defined in
    >>> two different Class files.
    >>>
    >>> These errors are preceded with the following related errors:
    >>>
    >>> /usr/bin/ld: multiple definitions of symbol
    >>> _ACMTriggerEnabledVisibleKey
    >>>
    >>> /Users/chiron/Documents/Development/A C M/build/A C M.build/
    >>> Release/A C M.build/Objects-normal/ppc/InterfaceController.o
    >>> private external definition of _ACMTriggerEnabledVisibleKey in
    >>> section (__DATA,__data)
    >>>
    >>> /Users/chiron/Documents/Development/A C Master/build/A C
    >>> Master.build/Release/A C Master.build/Objects-normal/ppc/
    >>> PreferenceController.o private external definition of
    >>> _ACMTriggerEnabledVisibleKey in section (__DATA,__data)
    >>>
    >>> /Users/chiron/Documents/Development/A C M/build/A C M.build/
    >>> Release/A C M.build/Objects-normal/ppc/DocumentSettings.o private
    >>> external definition of _ACMTriggerEnabledVisibleKey in section
    >>> (__DATA,__data)
    >>>
    >>> /Users/chiron/Documents/Development/A C M/build/A C M.build/
    >>> Release/A C M.build/Objects-normal/ppc/ShowModeInterface.o private
    >>> external definition of _ACMTriggerEnabledVisibleKey in section
    >>> (__DATA,__data)
    >>>
    >>> /usr/bin/ld: multiple definitions of symbol _shortRange
    >>>
    >>> /Users/chiron/Documents/Development/A C M/build/ACM.build/Release/
    >>> A C M.build/Objects-normal/ppc/InterfaceController.o private
    >>> external definition of _shortRange in section (__DATA,__data)
    >>>
    >>> /Users/chiron/Documents/Development/A C M/build/A C M.build/
    >>> Release/A C M.build/Objects-normal/ppc/PreferenceController.o
    >>> private external definition of _shortRange in section
    >>> (__DATA,__data)
    >>>
    >>> /Users/chiron/Documents/Development/A C M/build/A C M.build/
    >>> Release/A C M.build/Objects-normal/ppc/DocumentSettings.o private
    >>> external definition of _shortRange in section (__DATA,__data)
    >>>
    >>> /Users/chiron/Documents/Development/A C M/build/A C M.build/
    >>> Release/A C M.build/Objects-normal/ppc/ShowModeInterface.o private
    >>> external definition of _shortRange in section (__DATA,__data)
    >>>
    >>>
    >>>
    >>> Also, if it helps, ACMTriggerEnabledVisibleKey is used in my
    >>> PrefencesController class and is defined:
    >>> NSString *ACMTriggerEnabledVisibleKey =
    >>> @"triggerEnabledIsVisibleInTable"
    >>>
    >>> and shortRange is used in the InterfaceController Class (my Main)
    >>> and is used to extract a portion of an NSString. Defined:
    >>> NSRange shortRange = { 2, 8 };
    >>>
    >>> I am sure that I am over-looking something obvious, but for the
    >>> life of me, I cannot figure it out
    >>>
    >>> Thanks, in advance, for any help!!
    >>>
    >>> ***** Paul *****
    >>> <chiron...>
    >>> <chiron1...>
    >>> ICQ #11034669
    >>>
    >>> -----
    >>>
    >>> "They that can give up essential liberty to obtain a little
    >>> temporary safety deserve neither liberty nor safety."
    >>>
    >>> Benjamin Franklin, Historical Review of Pennsylvania, 1759
    >>
    >> -------------------------------------
    >> This sig is dedicated to the advancement of Nuclear Power
    >> Tommy Nordgren
    >> <tommy.nordgren...>
    >>
    >>
    >>
    >>
    >
    > ***** Paul *****
    > <chiron...>
    > <chiron1...>
    > ICQ #11034669
    >
    > -----
    >
    >>>> Bozosity Of The Day <<<
    >
    > Daily proof that there is no shortage of bozosity when it comes to
    > expert pontifications. From garage.com:
    > ------------------------------------------------------------------
    >
    > "This crash is not going to have much effect on business."
    >
    > -- Arthur Reynolds, Oct. 24, 1929 (Chairman of Continental Illinois
    > Bank of Chicago)

    ----------------------------------
    Skinheads are so tired of immigration, that they are going to move to
    a country that don't accept immigrants!
    Tommy Nordgren
    <tommy.nordgren...>
  • I always use #import and never #include (saves a lot of problems during compiles)

    I have checked and all of my #imports are for .h files.

    I have to wonder what it is that is different about the Release compilation configuration that would keep it from compiling.

    ***** Paul *****
    <chiron1...>
    <chiron...>


    On Friday, January 11, 2008, at 09:52PM, "Tommy Nordgren" <tommy.nordgren...> wrote:
    > Another possibility: Look for #include and #import preprocessor statements.
    > I remember that once I managed to type the name of an implementation
    > file instead of a header file into  and #include statement. This would
    > cause the symptoms you describe.
    > On 12 jan 2008, at 02.20, Paul wrote:
    >
    >> The only frameworks I am using are Apple's.
    >>
    >> On Jan 11, 2008, at 7:59 PM, Tommy Nordgren wrote:
    >>
    >>> Are you possibly including the same source file more than once?
    >>> (For example via a project specific framwork?)
    >>> On 12 jan 2008, at 01.13, Paul wrote:
    >>>
    >>>> I've got a bit of a problem with Xcode, and I would appreciate
    >>>> some help figuring it out.
    >>>>
    >>>> I am using Xcode 2.4.1 on my TiBook running 10.4.11
    >>>>
    >>>> I have a project the compiles and runs perfectly in the "Debug"
    >>>> configuration, but when I switch to "Release" configuration, I get
    >>>> a slug (highly technical term, meaning "a lot" ;-) ) of "Multiple
    >>>> definitions of symbol" errors.
    >>>>
    >>>> /usr/bin/ld: multiple definitions of symbol
    >>>> _ACMTriggerEnabledVisibleKey
    >>>> /usr/bin/ld: multiple definitions of symbol _shortRange
    >>>>
    >>>> are two of the errors, and they are all variable names with an
    >>>> underbar at the beginning (ie - I have a variable named
    >>>> shortRange, but not _shortRange). In searching my files, none of
    >>>> them are defined more than once. The examples listed above are an
    >>>> NSString and an NSRange (respectively). They are also defined in
    >>>> two different Class files.
    >>>>
    >>>> These errors are preceded with the following related errors:
    >>>>
    >>>> /usr/bin/ld: multiple definitions of symbol
    >>>> _ACMTriggerEnabledVisibleKey
    >>>>
    >>>> /Users/chiron/Documents/Development/A C M/build/A C M.build/
    >>>> Release/A C M.build/Objects-normal/ppc/InterfaceController.o
    >>>> private external definition of _ACMTriggerEnabledVisibleKey in
    >>>> section (__DATA,__data)
    >>>>
    >>>> /Users/chiron/Documents/Development/A C Master/build/A C
    >>>> Master.build/Release/A C Master.build/Objects-normal/ppc/
    >>>> PreferenceController.o private external definition of
    >>>> _ACMTriggerEnabledVisibleKey in section (__DATA,__data)
    >>>>
    >>>> /Users/chiron/Documents/Development/A C M/build/A C M.build/
    >>>> Release/A C M.build/Objects-normal/ppc/DocumentSettings.o private
    >>>> external definition of _ACMTriggerEnabledVisibleKey in section
    >>>> (__DATA,__data)
    >>>>
    >>>> /Users/chiron/Documents/Development/A C M/build/A C M.build/
    >>>> Release/A C M.build/Objects-normal/ppc/ShowModeInterface.o private
    >>>> external definition of _ACMTriggerEnabledVisibleKey in section
    >>>> (__DATA,__data)
    >>>>
    >>>> /usr/bin/ld: multiple definitions of symbol _shortRange
    >>>>
    >>>> /Users/chiron/Documents/Development/A C M/build/ACM.build/Release/
    >>>> A C M.build/Objects-normal/ppc/InterfaceController.o private
    >>>> external definition of _shortRange in section (__DATA,__data)
    >>>>
    >>>> /Users/chiron/Documents/Development/A C M/build/A C M.build/
    >>>> Release/A C M.build/Objects-normal/ppc/PreferenceController.o
    >>>> private external definition of _shortRange in section
    >>>> (__DATA,__data)
    >>>>
    >>>> /Users/chiron/Documents/Development/A C M/build/A C M.build/
    >>>> Release/A C M.build/Objects-normal/ppc/DocumentSettings.o private
    >>>> external definition of _shortRange in section (__DATA,__data)
    >>>>
    >>>> /Users/chiron/Documents/Development/A C M/build/A C M.build/
    >>>> Release/A C M.build/Objects-normal/ppc/ShowModeInterface.o private
    >>>> external definition of _shortRange in section (__DATA,__data)
    >>>>
    >>>>
    >>>>
    >>>> Also, if it helps, ACMTriggerEnabledVisibleKey is used in my
    >>>> PrefencesController class and is defined:
    >>>> NSString *ACMTriggerEnabledVisibleKey =
    >>>> @"triggerEnabledIsVisibleInTable"
    >>>>
    >>>> and shortRange is used in the InterfaceController Class (my Main)
    >>>> and is used to extract a portion of an NSString. Defined:
    >>>> NSRange shortRange = { 2, 8 };
    >>>>
    >>>> I am sure that I am over-looking something obvious, but for the
    >>>> life of me, I cannot figure it out
    >>>>
    >>>> Thanks, in advance, for any help!!
    >>>>
    >>>> ***** Paul *****
    >>>> <chiron...>
    >>>> <chiron1...>
    >>>> ICQ #11034669
    >>>>
    >>>> -----
    >>>>
    >>>> "They that can give up essential liberty to obtain a little
    >>>> temporary safety deserve neither liberty nor safety."
    >>>>
    >>>> Benjamin Franklin, Historical Review of Pennsylvania, 1759
    >>>
    >>> -------------------------------------
    >>> This sig is dedicated to the advancement of Nuclear Power
    >>> Tommy Nordgren
    >>> <tommy.nordgren...>
    >>>
    >>>
    >>>
    >>>
    >>
    >> ***** Paul *****
    >> <chiron...>
    >> <chiron1...>
    >> ICQ #11034669
    >>
    >> -----
    >>
    >>>>> Bozosity Of The Day <<<
    >>
    >> Daily proof that there is no shortage of bozosity when it comes to
    >> expert pontifications. From garage.com:
    >> ------------------------------------------------------------------
    >>
    >> "This crash is not going to have much effect on business."
    >>
    >> -- Arthur Reynolds, Oct. 24, 1929 (Chairman of Continental Illinois
    >> Bank of Chicago)
    >
    > ----------------------------------
    > Skinheads are so tired of immigration, that they are going to move to
    > a country that don't accept immigrants!
    > Tommy Nordgren
    > <tommy.nordgren...>
    >
    >
    >
    >
    >
  • One thing that might help is to look in your Build Settings for both
    targets and see what's bold.  Then make a note if anything is
    different.

    You *HAVE* turned off Zero-Link, correct?

    --Kyle Sluder
  • It's been so long since I started this project, I've completely
    forgotten HOW I set it up.

    ZeroLink is unchecked

    The settings that are bold are:
    "Treat Warnings as Errors"
    "DYLD_INSERT_LIBRARIES/usr/lib/libMallocDebug.A.dylib"

    I believe I added the later at the advice of an article that I read.

    In checking the configuration for both Debug and Release, I do not see
    anything different.

    On Jan 11, 2008, at 11:25 PM, Kyle Sluder wrote:

    > One thing that might help is to look in your Build Settings for both
    > targets and see what's bold.  Then make a note if anything is
    > different.
    >
    > You *HAVE* turned off Zero-Link, correct?
    >
    > --Kyle Sluder

    ***** Paul *****
    <chiron...>
    <chiron1...>
    ICQ #11034669

    -----

    >>> Bozosity Of The Day <<<

    Daily proof that there is no shortage of bozosity when it comes to
    expert pontifications. From garage.com:
    ------------------------------------------------------------------

    "Approximately 80% of our air pollution stems from hydrocarbons
    released by vegetation. So let's not go overboard in setting and
    enforcing tough emissions standards for man-made sources."

    -- Ronald Reagan, September 10, 1980
  • Oh, and when I remove "mailto:<cocoa-dev...>" it doesn't
    change anything.

    Just an FYI

    On Jan 11, 2008, at 11:25 PM, Kyle Sluder wrote:

    > One thing that might help is to look in your Build Settings for both
    > targets and see what's bold.  Then make a note if anything is
    > different.
    >
    > You *HAVE* turned off Zero-Link, correct?
    >
    > --Kyle Sluder

    ***** Paul *****
    <chiron...>
    <chiron1...>
    ICQ #11034669

    -----

    TeleVisionary

    TV, so good they named a frozen meal after it.

                                                                                ABC
      TV
  • On 1/11/08, Paul <chiron1...> wrote:
    > ZeroLink is unchecked

    ZeroLink is unchecked for the Debug configuration, too, correct?  To
    be absolutely certain that it's not causing your Debug build to slip
    by without linker errors, make sure "Allow ZeroLink" is unchecked on
    the Build menu, switch to the Debug target, Clean All, then Build
    again.  Just to be absolutely, 100% sure.

    --Kyle Sluder
  • Actually, after I sent my last email, I did discover that ZeroLink was
    still checked in the Project/Edit Active Target settings, but
    unchecking it did not change anything.

    On Jan 12, 2008, at 2:01 AM, Kyle Sluder wrote:

    > On 1/11/08, Paul <chiron1...> wrote:
    >> ZeroLink is unchecked
    >
    > ZeroLink is unchecked for the Debug configuration, too, correct?  To
    > be absolutely certain that it's not causing your Debug build to slip
    > by without linker errors, make sure "Allow ZeroLink" is unchecked on
    > the Build menu, switch to the Debug target, Clean All, then Build
    > again.  Just to be absolutely, 100% sure.
    >
    > --Kyle Sluder

    ***** Paul *****
    <chiron...>
    <chiron1...>
    ICQ #11034669

    -----

    >>> Bozosity Of The Day <<<

    Daily proof that there is no shortage of bozosity when it comes to
    expert pontifications. From garage.com:
    ------------------------------------------------------------------

    "Stocks have reached what looks like a permanently high plateau."

    -- Prof. Irving Fisher, 10/17/29  (Professor of Economics, Yale
    University)
  • On 1/12/08, Paul <chiron1...> wrote:
    > Actually, after I sent my last email, I did discover that ZeroLink was
    > still checked in the Project/Edit Active Target settings, but
    > unchecking it did not change anything.

    Did you remember to Clean All and switch to the Debug config before
    rebuilding?  I think you can tell that I'm very much hoping this is a
    ZeroLink issue, because at least that would allow you to focus on why
    you're getting the error instead of why it's only appearing when
    building in Release.

    --Kyle Sluder
  • Well, I hadn't done Clean All recently, but I did and now I get the
    same failure in Debug builds.

    At least I am getting consistency here.

    Of course, now I can't even getting a running demo.

    Does it seem like this may still be a "Build" issue, rather than
    something wrong in my code?

    I'm going to check the configuration again. Any other suggestions? I
    am sure that I have ZeroLink off everywhere.

    On Jan 12, 2008, at 2:36 AM, Kyle Sluder wrote:

    > On 1/12/08, Paul <chiron1...> wrote:
    >> Actually, after I sent my last email, I did discover that ZeroLink
    >> was
    >> still checked in the Project/Edit Active Target settings, but
    >> unchecking it did not change anything.
    >
    > Did you remember to Clean All and switch to the Debug config before
    > rebuilding?  I think you can tell that I'm very much hoping this is a
    > ZeroLink issue, because at least that would allow you to focus on why
    > you're getting the error instead of why it's only appearing when
    > building in Release.
    >
    > --Kyle Sluder

    ***** Paul *****
    <chiron...>
    <chiron1...>
    ICQ #11034669
    -----

    Words of Inspiration from Dogbert's New Ruling Class newsletter

    True phrases used by a boss:

    "Ah, that's the flaw in the ointment."

                                                                                Dogbert
  • On 1/12/08, Paul <chiron1...> wrote:
    > Well, I hadn't done Clean All recently, but I did and now I get the
    > same failure in Debug builds.
    >
    > At least I am getting consistency here.

    Exactly what I was hoping to see.

    > Does it seem like this may still be a "Build" issue, rather than
    > something wrong in my code?

    Regardless of which it is, you're most definitely doing something
    wrong somewhere, either in your build settings or in your code.  It
    really sounds like you're #importing a source file instead of a header
    file somewhere in your code.  I'd run a search for a regexp like
    /#import ".*\.m"/ across your entire project just to make sure.

    And keep ZeroLink off, and remember to immediately disable it for any
    Tiger project you may have in the future.  It's such an evil monster
    that they removed it from Xcode 3.0.

    --Kyle Sluder
  • Igor was correct.

    The problem was that I was initializing these values in my header
    files. I don't know why I thought that was a good idea, but it seemed
    to make sense at the time.

    Thanks, everyone, for your help!

    On Jan 12, 2008, at 3:17 PM, Igor Mozolevsky wrote:

    > On 12/01/2008, Paul <chiron1...> wrote:
    >> The LINKER is confused? What about me? ;-)
    >>
    >> My definitions for the two example errors are:
    >>
    >> NSString *ACMTriggerEnabledVisibleKey =
    >> @"triggerEnabledIsVisbleInTable";
    >> and
    >> NSRange shortRange = { 2, 8 };
    >>
    >> The first one being for the PreferenceController and the second one
    >> being used with substringWithRange:
    >>
    >> They are defined in separate (from each other) .h files, and I have
    >> verified that they are both defined only once.
    >
    > Ah, ok, so your problem, or rather the linker's problem with you, is
    > that you've initialized those variables in the .h files. Each of the
    > .m files is compiled separately into an object (.o) file. Each object
    > file basically contains some binary code to execute and a table of
    > symbols. Now, if your .h file is included in several .m files, each .o
    > file from the .m file would have a definition of the variables you use
    > (ignore the underscore).
    >
    > (A really naive version of what's going on is) The linker then joins
    > all of the .o files and libraries into a single executable. To do so
    > the linker builds a table of symbols for the executable from the
    > tables included in the objects, but when it encounters the same symbol
    > name together with an explicit definition of what value the symbol
    > holds, the linker gets really confused (it doesn't care that the
    > values are identical, as far as it knows the symbols must not be
    > redefined. The way to fix it is to use extern:
    >
    > http://groups.google.com/group/comp.lang.c/browse_thread/thread/d5a63ea037f
    adb18/414a0636c308baff?lnk=st&q=extern

    >
    > Cheers,
    > Igor :-)

    ***** Paul *****
    <chiron...>
    <chiron1...>
    ICQ #11034669

    -----

    >>> Bozosity Of The Day <<<

    Daily proof that there is no shortage of bozosity when it comes to
    expert pontifications. From garage.com:
    ------------------------------------------------------------------

    "[Man will never reach the moon] regardless of all future scientific
    advances."

    -- Lee DeForest, inventor of the audion tube, New York Times, February
    25, 1957
  • On 13.01.2008, at 05:04, Paul wrote:
    > The problem was that I was initializing these values in my header
    > files. I don't know why I thought that was a good idea, but it
    > seemed to make sense at the time.

      Actually, the problem was that you were *defining* them in your
    header files, whereas header files should only contain *declarations*.
    A declaration is like a function prototype: It promises the compiler
    that, somewhere, there is a global variable of a certain name. A
    definition is the place where the actual variable is created.

      In general, you only want to declare your variables in the header,
    which is generally done by writing:

    extern MyType gMyVar;

      Then, in the actual implementation file, you'll actually create and
    initialize (i.e. define) your variable:

    MyType  gMyVar = SomeValue;

    Oh, and I suggest you adhere to the naming conventions that exist
    there, that is, either start global variable names with a certain
    prefix (like "g") to indicate this is a global, or with the same
    prefix you use for your classes, i.e. PCMyVar or whatever. Since
    globals are in the global namespace, you otherwise run the risk of
    name collisions with globals in other files.

    Of course, the best approach is to not expose globals to the outside
    directly, and instead use a static variable in your source file that
    is accessible through accessors:

    Header:

    @interface MyClass : NSObject
    {

    }

    +(MyType)  myVar;
    +(void)    setMyVar: (MyType)val;

    @end

    Implementation:

    static MyVar sMyVar = SomeValue;

    @implementation MyClass

    +(MyType)  myVar
    {
        return sMyVar;
    }

    +(void)    setMyVar: (MyType)val
    {
        sMyVar = val;
    }

    @end

    This also has the advantage that these accessors can fire off
    notifications or talk to delegates to update any GUI state that may be
    connected with these values, or that you can completely change your
    internal implementation to use different types, while still keeping
    these methods intact. Especially in a big project it's often handy to
    not have to go through and change all the old places that used to call
    a method.

    Cheers,
    -- M. Uli Kusterer
    "The Witnesses of TeachText are everywhere..."
    http://www.zathras.de
previous month january 2008 next month
MTWTFSS
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      
Go to today