动态链接库+函数模板



想为快速排序建一个动态链接库好在以后写算法的时候直接调用。为了便于复用,使用了函数模板,头文件如下:

#ifdef SORTDLL_EXPORTS
#define SORT_API __declspec(dllexport)
#else
#define SORT_API __declspec(dllimport)
#endif

// other functions

template<typename T>
SORT_API 
void quicksort(T *a, int size);

自然地,在CPP文件里这么定义:

template<T>
void quicksort(T*a, int size)
{
	// implements
}

生成成功,但是在另一个项目里调用quicksort函数时却显示链接错误

error LNK2019: 无法解析的外部符号 "__declspec(dllimport) void __cdecl quicksort<class Point>(class Point *,int)" (__imp_??$quicksort@VPoint@@@@YAXPAVPoint@@H@Z),该符号在函数 _main 中被引用
fatal error LNK1120: 1 个无法解析的外部命令


就这么个玩意儿鼓捣了半天,读了一篇别人的博客才知道quicksort函数压根没被导出(好烦哪),而简单的解决方案就是在动态链接库的CPP文件中给想要的类

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值