| Topic: |
DEVELOP > c-Plus-Plus |
| User: |
"rpmohan" |
| Date: |
21 Oct 2003 12:49:48 AM |
| Object: |
Template instantiation on HP aCC compiler |
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.
.
|
|
| User: "Dennis Handly" |
|
| Title: Re: Template instantiation on HP aCC compiler |
24 Oct 2003 04:13:24 AM |
|
|
rpmohan (rpmohan@yahoo.com) 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
.
|
|
|
|
| User: "Rolf Magnus" |
|
| Title: Re: Template instantiation on HP aCC compiler |
21 Oct 2003 05:48:33 AM |
|
|
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.
.
|
|
|
|

|
Related Articles |
|
|