Professional Web Applications Themes

Xcode precompiled headers cause C linkage vs. C++ linkage errors - Mac Programming

My project is compiling fine with a prefix header, but when I tell it to precompile this prefix header I get error messages about incompatible C vs. C++ linkages. Everythings is C++ and would have other errors if compiled as C. There are no extern "C" sections of code. I tried changing the prefix header from brcombined_Prefix.pch to brcombined_Prefix.pch++ which did not make a difference. Any thoughts? /Users/dan/br-wx/br/brs/run.h:163: error: previous declaration of `int aidx(int, unsigned char*)' with C++ linkage /Users/dan/br-wx/br/brs/aidx.cpp:23: error: conflicts with new declaration with C linkage...

  1. #1

    Default Xcode precompiled headers cause C linkage vs. C++ linkage errors

    My project is compiling fine with a prefix header, but when I tell it
    to precompile this prefix header I get error messages about
    incompatible C vs. C++ linkages. Everythings is C++ and would have
    other errors if compiled as C. There are no extern "C" sections of
    code. I tried changing the prefix header from brcombined_Prefix.pch
    to brcombined_Prefix.pch++ which did not make a difference. Any
    thoughts?

    /Users/dan/br-wx/br/brs/run.h:163: error: previous declaration of `int
    aidx(int, unsigned char*)' with C++ linkage
    /Users/dan/br-wx/br/brs/aidx.cpp:23: error: conflicts with new
    declaration with C linkage
    Dan Guest

  2. #2

    Default Re: Xcode precompiled headers cause C linkage vs. C++ linkage errors

    In article <google.com>,
    com (Dan) wrote:
     

    Your C functions should be 'extern "C"'-ified in their declarations in
    their header files. In other words, if you have a header that declares
    C functions, you should surround the C function declarations with this:

    #ifdef __cplusplus
    extern "C" {
    #endif

    // Examples
    // void myFunction();
    // void myOtherFunction();
    ....

    #ifdef __cplusplus
    }
    #endif

    Hope this helps,
    Eric

    --
    Eric Albert stanford.edu
    http://rescomp.stanford.edu/~ejalbert/
    Eric Guest

  3. #3

    Default Re: Xcode precompiled headers cause C linkage vs. C++ linkage errors

    Eric Albert <stanford.edu> wrote in message news:<stanford.edu>... 
    >
    > Your C functions should be 'extern "C"'-ified in their declarations in
    > their header files. In other words, if you have a header that declares
    > C functions, you should surround the C function declarations with this:
    >
    > #ifdef __cplusplus
    > extern "C" {
    > #endif
    >
    > // Examples
    > // void myFunction();
    > // void myOtherFunction();
    > ...
    >
    > #ifdef __cplusplus
    > }
    > #endif
    >
    > Hope this helps,
    > Eric[/ref]

    I guess I wasn't clear on this. I want everthing to be C++. I just
    got rid of all the extern "C" sections to make sure that this would be
    the case. All source files are .cpp. Why would a function in a .cpp
    file be compiled with C linkage (besides extern "C")? I tried putting
    a class function in and it compiled properly so the file is being
    compiled as a C++ file.

    Dan
    Dan Guest

Similar Threads

  1. Button Linkage
    By com_craze in forum Macromedia Flash Sitedesign
    Replies: 6
    Last Post: April 22nd, 01:04 AM
  2. linkage HELP!
    By eniGMa-TheBiG-Man in forum Macromedia Flash Sitedesign
    Replies: 3
    Last Post: April 15th, 10:13 AM
  3. AS 2.0 linkage question
    By ufitzi in forum Macromedia Flash Actionscript
    Replies: 0
    Last Post: February 27th, 06:51 PM
  4. external linkage
    By James Leddy in forum UNIX Programming
    Replies: 0
    Last Post: August 5th, 06:04 PM

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  

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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139