Template instantiation on HP aCC compiler

Discussion in 'C++' started by rpmohan, Oct 21, 2003.

  1. rpmohan

    rpmohan Guest

    Hello,
    I have sample Program called sample.C . The source code looks like
    below.
    #include <List.h>

    int main(int argc, char *argv[])
    {

    List<int> myList;
    return 0;
    }

    When I compile this program, I am getting Linker error below

    /usr/ccs/bin/ld: Unsatisfied symbols:
    List<int>::List()%1 (code)
    List<int>::~List() (code)

    I attempted to compile this program with different options...

    1) aCC +inst_compiletime -I- -I/opt/aCC/include/SC sample.C

    2) aCC +inst_auto -I- -I/opt/aCC/include/SC sample.C

    3) aCC +inst_all -I- -I/opt/aCC/include/SC sample.C


    What could be wrong in my compiler options.

    I am compiling this program on HP-UNIX 10.2
    Compiler version:
    /opt/aCC/bin/aCC:
    HP aC++ B3910B A.01.23
    HP aC++ B3910B A.01.19.02 Language Support Library


    Could anyone help me regarding the same.
    rpmohan, Oct 21, 2003
    #1
    1. Advertising

  2. On 20 Oct 2003 22:49:48 -0700, (rpmohan) wrote:

    >Hello,
    > I have sample Program called sample.C . The source code looks like
    >below.
    > #include <List.h>


    That's not a standard header, but perhaps you meant to
    include <list>.


    >
    > int main(int argc, char *argv[])
    > {
    >
    > List<int> myList;
    > return 0;
    > }


    It's possible you meant to write std::list<int>.


    >
    > When I compile this program, I am getting Linker error below
    >
    > /usr/ccs/bin/ld: Unsatisfied symbols:
    > List<int>::List()%1 (code)
    > List<int>::~List() (code)
    >
    > I attempted to compile this program with different options...
    >
    > 1) aCC +inst_compiletime -I- -I/opt/aCC/include/SC sample.C
    >
    > 2) aCC +inst_auto -I- -I/opt/aCC/include/SC sample.C
    >
    > 3) aCC +inst_all -I- -I/opt/aCC/include/SC sample.C
    >
    >
    > What could be wrong in my compiler options.


    That's off-topic in this group.
    Alf P. Steinbach, Oct 21, 2003
    #2
    1. Advertising

  3. "rpmohan" <> schreef in bericht
    news:...
    > Hello,
    > I have sample Program called sample.C . The source code looks like
    > below.
    > #include <List.h>
    >
    > int main(int argc, char *argv[])
    > {
    >
    > List<int> myList;
    > return 0;
    > }
    >
    > When I compile this program, I am getting Linker error below
    >
    > /usr/ccs/bin/ld: Unsatisfied symbols:
    > List<int>::List()%1 (code)
    > List<int>::~List() (code)
    >
    > I attempted to compile this program with different options...
    >
    > 1) aCC +inst_compiletime -I- -I/opt/aCC/include/SC sample.C
    >
    > 2) aCC +inst_auto -I- -I/opt/aCC/include/SC sample.C
    >
    > 3) aCC +inst_all -I- -I/opt/aCC/include/SC sample.C
    >
    >
    > What could be wrong in my compiler options.
    >
    > I am compiling this program on HP-UNIX 10.2
    > Compiler version:
    > /opt/aCC/bin/aCC:
    > HP aC++ B3910B A.01.23
    > HP aC++ B3910B A.01.19.02 Language Support Library
    >
    >
    > Could anyone help me regarding the same.


    rpmohan,


    Do you have the header file List.h on your system? C is case sensitve.


    Regards,


    Jan Gerrit
    Jan Gerrit Kootstra, Oct 21, 2003
    #3
  4. rpmohan

    Rolf Magnus Guest

    rpmohan wrote:

    > Hello,
    > I have sample Program called sample.C . The source code looks like
    > below.
    > #include <List.h>
    >
    > int main(int argc, char *argv[])
    > {
    >
    > List<int> myList;
    > return 0;
    > }
    >
    > When I compile this program, I am getting Linker error below
    >
    > /usr/ccs/bin/ld: Unsatisfied symbols:
    > List<int>::List()%1 (code)
    > List<int>::~List() (code)


    The above shows that the compiler seems to be finding the class
    definition, but the linker isn't finding any implementation of the
    constructor and destructor. Maybe you put them in another translation
    unit? That's not possible unless your compiler supports the export
    keyword. Try putting the implementations of your List constructor and
    destructor into the header file.
    Rolf Magnus, Oct 21, 2003
    #4
  5. rpmohan () wrote:
    : #include <List.h>
    : When I compile this program, I am getting Linker error below
    : ld: Unsatisfied symbols: List<int>::List()%1 (code)

    : 2) aCC +inst_auto -I/opt/aCC/include/SC sample.C
    : 3) aCC +inst_all -I/opt/aCC/include/SC sample.C

    These are obsolete +inst* options.

    : What could be wrong in my compiler options?

    The correct option is +inst_implicit_include.
    http://h21007.www2.hp.com/dspp/tech/tech_TechDocumentDetailPage_IDX/1,1701,1744!3!7,00.html#RN.CVT.2.4.1
    Dennis Handly, Oct 24, 2003
    #5
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Vivek V
    Replies:
    1
    Views:
    374
    Christopher Benson-Manica
    May 3, 2004
  2. Paul Sheer
    Replies:
    3
    Views:
    381
    Paul Sheer
    Jun 21, 2004
  3. Replies:
    3
    Views:
    472
    Fei Liu
    Apr 21, 2006
  4. Replies:
    1
    Views:
    562
    Salt_Peter
    Dec 25, 2006
  5. param
    Replies:
    2
    Views:
    627
Loading...

Share This Page