VS2005写的静态库到VS2010出错的处理

       今天装了vs2010, 写了一个test,调用了以前用vs2005写的一个调试用的日志类,链接死活过不了,又是库冲突 ,又是无法解析外部符号。用错误内容及vs2005与vs2010搜了半天都没找到解决办法。后来找到说是string在旧版编译器中编译的结果在新版本里有区别,于是把库拿到vs2010重新编译,再拿到项目中,终于是通过了。

      贴出错误:

     

1>  AMobileDeviceListener.cpp
1>c:\program files\microsoft visual studio 10.0\vc\include\boost\format\alt_sstream_impl.hpp : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
1>DebugLogLib.lib(DebugLogFuc.obj) : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: void __thiscall std::basic_ofstream<char,struct std::char_traits<char> >::`vbase destructor'(void)" (__imp_??_D?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAEXXZ),该符号在函数 __unwindfunclet$??0DebugLogFun@tongbu@@AAE@XZ$0 中被引用
1>DebugLogLib.lib(DebugLogFuc.obj) : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: __thiscall std::basic_ofstream<char,struct std::char_traits<char> >::basic_ofstream<char,struct std::char_traits<char> >(char const *,int,int)" (__imp_??0?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAE@PBDHH@Z),该符号在函数 "private: __thiscall tongbu::DebugLogFun::DebugLogFun(void)" (??0DebugLogFun@tongbu@@AAE@XZ) 中被引用
1>DebugLogLib.lib(DebugLogFuc.obj) : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: void __thiscall std::basic_ofstream<char,struct std::char_traits<char> >::close(void)" (__imp_?close@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAEXXZ),该符号在函数 "private: virtual __thiscall tongbu::DebugLogFun::~DebugLogFun(void)" (??1DebugLogFun@tongbu@@EAE@XZ) 中被引用
1>DebugLogLib.lib(DebugLogFuc.obj) : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: int __thiscall std::ios_base::width(int)" (__imp_?width@ios_base@std@@QAEHH@Z),该符号在函数 "class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::operator<<<struct std::char_traits<char> >(class std::basic_ostream<char,struct std::char_traits<char> > &,char const *)" (??$?6U?$char_traits@D@std@@@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@PBD@Z) 中被引用
1>DebugLogLib.lib(DebugLogFuc.obj) : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::sputn(char const *,int)" (__imp_?sputn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHPBDH@Z),该符号在函数 "class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::operator<<<struct std::char_traits<char> >(class std::basic_ostream<char,struct std::char_traits<char> > &,char const *)" (??$?6U?$char_traits@D@std@@@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@PBD@Z) 中被引用
1>DebugLogLib.lib(DebugLogFuc.obj) : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: static bool __cdecl std::char_traits<char>::eq_int_type(int const &,int const &)" (__imp_?eq_int_type@?$char_traits@D@std@@SA_NABH0@Z),该符号在函数 "class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::operator<<<struct std::char_traits<char> >(class std::basic_ostream<char,struct std::char_traits<char> > &,char const *)" (??$?6U?$char_traits@D@std@@@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@PBD@Z) 中被引用
1>DebugLogLib.lib(DebugLogFuc.obj) : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: static int __cdecl std::char_traits<char>::eof(void)" (__imp_?eof@?$char_traits@D@std@@SAHXZ),该符号在函数 "class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::operator<<<struct std::char_traits<char> >(class std::basic_ostream<char,struct std::char_traits<char> > &,char const *)" (??$?6U?$char_traits@D@std@@@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@PBD@Z) 中被引用
1>DebugLogLib.lib(DebugLogFuc.obj) : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: int __thiscall std::ios_base::width(void)const " (__imp_?width@ios_base@std@@QBEHXZ),该符号在函数 "class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::operator<<<struct std::char_traits<char> >(class std::basic_ostream<char,struct std::char_traits<char> > &,char const *)" (??$?6U?$char_traits@D@std@@@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@PBD@Z) 中被引用
1>DebugLogLib.lib(DebugLogFuc.obj) : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: static unsigned int __cdecl std::char_traits<char>::length(char const *)" (__imp_?length@?$char_traits@D@std@@SAIPBD@Z),该符号在函数 "class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::operator<<<struct std::char_traits<char> >(class std::basic_ostream<char,struct std::char_traits<char> > &,char const *)" (??$?6U?$char_traits@D@std@@@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@PBD@Z) 中被引用
1>DebugLogLib.lib(DebugLogFuc.obj) : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: void __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::_Lock(void)" (__imp_?_Lock@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEXXZ),该符号在函数 "public: __thiscall std::basic_ostream<char,struct std::char_traits<char> >::_Sentry_base::_Sentry_base(class std::basic_ostream<char,struct std::char_traits<char> > &)" (??0_Sentry_base@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAE@AAV12@@Z) 中被引用
1>DebugLogLib.lib(DebugLogFuc.obj) : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: void __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::_Unlock(void)" (__imp_?_Unlock@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEXXZ),该符号在函数 "public: __thiscall std::basic_ostream<char,struct std::char_traits<char> >::_Sentry_base::~_Sentry_base(void)" (??1_Sentry_base@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAE@XZ) 中被引用
1>E:\downloadCode\ios安装器相关\iphonedisksolution\Debug\Test.exe : fatal error LNK1120: 11 个无法解析的外部命令

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是在VS窗体中实现打开视频进行光流法追踪的示例代码: ```c++ // 在按钮点击事件中添加以下代码 // 打开文件对话框,选择要处理的视频文件 openFileDialog1->Filter = "Video Files(*.mp4; *.avi; *.mkv)|*.mp4;*.avi;*.mkv|All Files(*.*)|*.*"; if (openFileDialog1->ShowDialog() == System::Windows::Forms::DialogResult::OK) { String^ filename = openFileDialog1->FileName; // 创建VideoCapture对象,打开视频文件 cv::VideoCapture cap(ToStdString(filename)); // 检查视频是否成功打开 if (!cap.isOpened()) { MessageBox::Show("Can not open video file!"); return; } // 创建窗口,用于显示处理后的视频 cv::namedWindow("Optical Flow", cv::WINDOW_NORMAL); // 读取第一帧图像 cv::Mat prevFrame, curFrame; cap >> prevFrame; // 循环处理视频帧 while (cap.read(curFrame)) { // 转换为灰度图像 cv::cvtColor(prevFrame, prevFrame, cv::COLOR_BGR2GRAY); cv::cvtColor(curFrame, curFrame, cv::COLOR_BGR2GRAY); // 计算光流向量 std::vector<cv::Point2f> prevPoints, curPoints; cv::goodFeaturesToTrack(prevFrame, prevPoints, 100, 0.3, 7, cv::Mat(), 7, false, 0.04); cv::cornerSubPix(prevFrame, prevPoints, cv::Size(10, 10), cv::Size(-1, -1), cv::TermCriteria(cv::TermCriteria::EPS + cv::TermCriteria::COUNT, 30, 0.1)); std::vector<uchar> status; std::vector<float> err; cv::calcOpticalFlowPyrLK(prevFrame, curFrame, prevPoints, curPoints, status, err); // 绘制光流向量 for (int i = 0; i < prevPoints.size(); i++) { cv::line(prevFrame, prevPoints[i], curPoints[i], cv::Scalar(0, 255, 0), 2); cv::circle(prevFrame, curPoints[i], 3, cv::Scalar(0, 0, 255), -1); } // 显示处理后的视频帧 cv::imshow("Optical Flow", prevFrame); // 等待用户按下ESC键退出程序 if (cv::waitKey(30) == 27) { break; } // 更新上一帧图像 prevFrame = curFrame.clone(); } // 释放VideoCapture对象,关闭视频文件 cap.release(); // 关闭窗口 cv::destroyAllWindows(); } ``` 需要注意的是,在VS窗体中使用OpenCV库时,需要在项目属性中设置附加包含目录和附加库目录,并链接相应的静态库或动态库。此外,需要将OpenCV库的相关函数放在`#pragma unmanaged`和`#pragma managed`之间,以避免编译器出错

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值