当前位置:  技术问答>linux和unix

模板类库,连接失败

    来源: 互联网  发布时间:2017-01-11

    本文导语:  学习模板,写了个很简单的模板类,先把模板类生成库文件,生成成功,但是最后连接的时候失败。 模板类头文件temp.h #ifndef _HHHHHHH_ #define _HHHHHHH_ template  class CTest { public:     T m_num; public:     CTest();     ~C...

学习模板,写了个很简单的模板类,先把模板类生成库文件,生成成功,但是最后连接的时候失败。
模板类头文件temp.h
#ifndef _HHHHHHH_
#define _HHHHHHH_

template 
class CTest
{
public:
    T m_num;

public:
    CTest();
    ~CTest();

public:
    T add( T _num );
};

class TT
{
public:
    void func();
};

#endif
复制代码
模板类CPP文件temp.cpp:
#include "temp.h"
#include 

template 
CTest::CTest():m_num(0)
{
}

template 
CTest::~CTest()
{
}

template 
T CTest::add( T _num )
{
    return _num + 10;
}

void TT::func()
{
    printf("AAAAAAAAAAAAAAAAAAAAAAAAn");
}
复制代码
主函数main.cpp:
#include 
#include "temp.h"

int main( int argc, char **argv )
{
    printf("==================n");

    CTest tt;
    printf("rst = [%d]n"tt.add( 11 ));
    //TT obj;
    //obj.func();

    printf("==================n");
    return 0;
}
复制代码
编译规则:
g++ -c main.cpp
g++ temp.cpp -fPIC -shared -o libtemp.so 
g++  -o run main.o -ltemp -L./

执行 g++  -o run main.o -ltemp -L./ 时报错 :
main.o(.text+0x24): In function `main':
: undefined reference to `CTest::CTest[in-charge]()'
main.o(.text+0x37): In function `main':
: undefined reference to `CTest::add(int)'
main.o(.text+0x6e): In function `main':
: undefined reference to `CTest::~CTest [in-charge]()'
main.o(.text+0x81): In function `main':
: undefined reference to `CTest::~CTest [in-charge]()'
collect2: ld returned 1 exit status

|


模板类只需要头文件即可,声明与实现都放在头文件里.

多目标文件链接不会出现redefined,模板是很特殊的。

|

++

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • c++模板(Template)介绍及模板参数中包含模版
  • PHP模板引擎 费尔模板引擎
  • c++通用模板类(template class)定义实现详细介绍
  • Destoon模板怎么制作?destoon模板制作简单教程
  • C++可变参数模板(variadic template)详细介绍及代码举例
  • 关于模板类局部特化的错误:模板参数太少。
  • c++模板(template)常见用法代码实例
  • Java模板引擎 Snippetory
  • c++模板(template)中的class和typename关键字异同比较
  • 网页模板引擎 Jenner
  • C++ STL标准模板库类String成员详细列表参考及示例代码
  • 多脚本语言模板引擎 Tenjin
  • 模板引擎 JET
  • destoon公司主页模板风格的添加方法
  • 费尔PHP模板引擎
  • JavaScript模板引擎 ECT
  • 模板配置系统 CoreTML
  • PHP模板语言 Twig
  • 模板引擎 ETPL
  • JS模板引擎 BaiduTemplate
  • JavaScript模板引擎 EasyTemplate


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3