求助,vector::insert 联接出错。。。

郑大满 2007-07-24 01:31:01
我的代码如下:
std::vector<float> v1;
std::vector<float> v2;
//......
v2.insert( v2.end(), v1.begin(), v1.begin() );

我的工程中用到了COM, 上述代码编译能通过,但是连接不通过,错误信息如下:

error LNK2019: unresolved external symbol "__declspec(dllimport) protected: void __thiscall std::vector<float,class std::allocator<float> >::_Orphan_range(float *,float *)const " (__imp_?_Orphan_range@?$vector@MV?$allocator@M@std@@@std@@IBEXPAM0@Z) referenced in function __catch$??$_Insert@V?$_Vector_iterator@MV?$allocator@M@std@@@std@@@?$vector@MV?$allocator@M@std@@@std@@QAEXV?$_Vector_iterator@MV?$allocator@M@std@@@1@00Uforward_iterator_tag@1@@Z$0

说_Orphan_range无法找到?为什么?
请兄弟们帮忙看看。。。

...全文
249 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
郑大满 2007-08-13
  • 打赏
  • 举报
回复
问题解决了。原因是:主程序用的是debug版本,而链接到的平台库是release版本。
问题虽然解决了,但技术上的根本原因是什么,还不知道。。。
郑大满 2007-07-25
  • 打赏
  • 举报
回复
不好意思,应该是v2.insert( v2.end(), v1.begin(), v1.end() );
linfengc 2007-07-24
  • 打赏
  • 举报
回复
v1.begin(), v1.begin() .....干什么呢?
fangrk 2007-07-24
  • 打赏
  • 举报
回复
v2.insert( v2.end(), v1.begin(), v1.begin() );——这等于白写
郑大满 2007-07-24
  • 打赏
  • 举报
回复
是在一个ATL的coclass的成员函数中使用了如上代码。
问题是我把代码改成用vector的push_back(),一切就ok了。

???
星羽 2007-07-24
  • 打赏
  • 举报
回复
你导出了模版类??
taodm 2007-07-24
  • 打赏
  • 举报
回复
你在dll里导出了类?

64,682

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧