QAxObject 解析 excel 时报错error LNK2019: 无法解析的外部符号

类似如下的报错:

1.error LNK2019: 无法解析的外部符号 "public: class QVariant __thiscall QAxBase::dynamicCall(char const *,class QVariant const &,class QVariant const &,class QVariant const &,class QVariant const &,class QVariant const &,class QVariant const &,class QVariant const &,class QVariant const &)"
2.error LNK2019: 无法解析的外部符号 "public: class QAxObject * __thiscall QAxBase::querySubObject(char const *,class QVariant const &,class QVariant const &,class QVariant const &,class QVariant const &,class QVariant const &,class QVariant const &,class QVariant const &,class QVariant const &)"
3. error LNK2019: 无法解析的外部符号 "public: __thiscall QAxObject::QAxObject(class QString const &,class QObject *)"

是VS的配置问题,解决方案如下:
右键点击项目-》属性-》c++-》附加包含目录后面添加:$(QTDIR)\include\ActiveQt;

右键点击项目-》属性-》c++-》链接器-》输入 后面 添加:Qt5AxContainer.lib Qt5AxBase.lib

如果是debug版本那么需要修改成 Qt5AxContainerd.lib Qt5AxBased.lib

 

 

发布了29 篇原创文章 · 获赞 2 · 访问量 1万+
展开阅读全文

在VS2012中使用QAxObject创建Excel文档出

03-25

void uiLabelPrepare::dealfile(const char* filename) { QAxObject* workbooks = nullptr; QAxObject* workbook = nullptr; QAxObject* excel = new QAxObject("Excel application"); if (!excel) { uiMSG().warning("cannot create excel object"); return; } } 代码如上,添加QAxObject* excel = new QAxObject("Excel application");这一行代码后,程序运行错误如下(我的工程是用vs2010 V100工具集,qt4.8.4版本): 1>qaxcontainerd.lib(qaxobject.obj) : error LNK2038: 检测到“_MSC_VER”的不匹配项: 值“1700”不匹配值“1600”(InvalidFilter.obj 中) 1>qaxcontainerd.lib(qaxbase.obj) : error LNK2038: 检测到“_MSC_VER”的不匹配项: 值“1700”不匹配值“1600”(InvalidFilter.obj 中) 1>qaxcontainerd.lib(qaxtypes.obj) : error LNK2038: 检测到“_MSC_VER”的不匹配项: 值“1700”不匹配值“1600”(InvalidFilter.obj 中) 1> 正在创建库 D:/SeisMining4.6/4.6.0/projects/bin/win64/Debug/uiODMain.lib 和对象 D:/SeisMining4.6/4.6.0/projects/bin/win64/Debug/uiODMain.exp 1>qaxcontainerd.lib(qaxobject.obj) : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) void __cdecl std::_Xbad_alloc(void)" (__imp_?_Xbad_alloc@std@@YAXXZ),该符号在函数 "char * __cdecl std::_Allocate<char>(unsigned __int64,char *)" (??$_Allocate@D@std@@YAPEAD_KPEAD@Z) 中被引用 1>qaxcontainerd.lib(qaxbase.obj) : error LNK2001: 无法解析的外部符号 "__declspec(dllimport) void __cdecl std::_Xbad_alloc(void)" (__imp_?_Xbad_alloc@std@@YAXXZ) 1>qaxcontainerd.lib(qaxtypes.obj) : error LNK2001: 无法解析的外部符号 "__declspec(dllimport) void __cdecl std::_Xbad_alloc(void)" (__imp_?_Xbad_alloc@std@@YAXXZ) 1>qaxcontainerd.lib(qaxobject.obj) : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) char const * __cdecl std::_Syserror_map(int)" (__imp_?_Syserror_map@std@@YAPEBDH@Z),该符号在函数 "public: virtual class std::error_condition __cdecl std::_System_error_category::default_error_condition(int)const " (?default_error_condition@_System_error_category@std@@UEBA?AVerror_condition@2@H@Z) 中被引用 1>qaxcontainerd.lib(qaxbase.obj) : error LNK2001: 无法解析的外部符号 "__declspec(dllimport) char const * __cdecl std::_Syserror_map(int)" (__imp_?_Syserror_map@std@@YAPEBDH@Z) 1>qaxcontainerd.lib(qaxtypes.obj) : error LNK2001: 无法解析的外部符号 "__declspec(dllimport) char const * __cdecl std::_Syserror_map(int)" (__imp_?_Syserror_map@std@@YAPEBDH@Z) 1>qaxcontainerd.lib(qaxobject.obj) : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) char const * __cdecl std::_Winerror_map(int)" (__imp_?_Winerror_map@std@@YAPEBDH@Z),该符号在函数 "public: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __cdecl std::_System_error_category::message(int)const " (?message@_System_error_category@std@@UEBA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@H@Z) 中被引用 1>qaxcontainerd.lib(qaxbase.obj) : error LNK2001: 无法解析的外部符号 "__declspec(dllimport) char const * __cdecl std::_Winerror_map(int)" (__imp_?_Winerror_map@std@@YAPEBDH@Z) 1>qaxcontainerd.lib(qaxtypes.obj) : error LNK2001: 无法解析的外部符号 "__declspec(dllimport) char const * __cdecl std::_Winerror_map(int)" (__imp_?_Winerror_map@std@@YAPEBDH@Z) 问答

vs2010运行程序报:error LNK2019: 无法解析外部符号

02-24

如题,我在vs2010环境下做C++练习题时出现该错误。程序代码如下: //array.h #ifndef ARRAY_H #define ARRAY_H template<typename T> class Array { public: Array(int n);//数组首地址不用指定,待会分配 Array(Array &a); ~Array(); T getAt(int i);//返回第i个数组元素 void setAt(T x,int i);//将第i个元素设置为x protected: private: T *array;//数组首地址 int length;//数组长度 }; #endif //array.cpp #include "array.h" template<typename T>//所有成员函数前必须加模板声明 Array<T>::Array(int n)//成员函数类名后需加<T> { array=new T[n]; length=n; } template<typename T> Array<T>::Array(Array &a) { length=a.length; array=new T[length]; for(int i=0;i<length;i++) array[i]=a.array[i];//数据复制 } template<typename T> Array<T>::~Array() { delete []array; } template<typename T> T Array<T>::getAt(int i) { return array[i]; } template<typename T> void Array<T>::setAt(T x,int i) { array[i]=x; } //test.cpp #include "array.h" #include <iostream> using namespace std; void main() { int a[]={1,2,3,4,5}; double b[]={0,0.5,1.0,1.5,2.0}; Array <int>a1(5);//使用时必须指明传递给类模板的数据类型 Array <double>b1(5);//必须分两行写 for (int i=0;i<5;i++) { a1.setAt(a[i],i);//数据拷给对象 b1.setAt(b[i],i); } Array <int>a2(a1); for (int i=0;i<5;i++) { cout<<a1.getAt(i)<<" "<<a2.getAt(i)<<" "<<b1.getAt(i)<<endl; } } 具体的报错信息如下: c: __thiscall Array<double>::~Array<double>(void)" (??1?$Array@N@@QAE@XZ),该符号在函数 _main 中被引用 1>test.obj : error LNK2019: 无法解析的外部符号 "public: __thiscall Array<int>::~Array<int>(void)" (??1?$Array@H@@QAE@XZ),该符号在函数 _main 中被引用 1>test.obj : error LNK2019: 无法解析的外部符号 "public: int __thiscall Array<int>::getAt(int)" (?getAt@?$Array@H@@QAEHH@Z),该符号在函数 _main 中被引用 1>test.obj : error LNK2019: 无法解析的外部符号 "public: double __thiscall Array<double>::getAt(int)" (?getAt@?$Array@N@@QAENH@Z),该符号在函数 _main 中被引用 1>test.obj : error LNK2019: 无法解析的外部符号 "public: __thiscall Array<int>::Array<int>(class Array<int> &)" (??0?$Array@H@@QAE@AAV0@@Z),该符号在函数 _main 中被引用 1>test.obj : error LNK2019: 无法解析的外部符号 "public: void __thiscall Array<double>::setAt(double,int)" (?setAt@?$Array@N@@QAEXNH@Z),该符号在函数 _main 中被引用 1>test.obj : error LNK2019: 无法解析的外部符号 "public: void __thiscall Array<int>::setAt(int,int)" (?setAt@?$Array@H@@QAEXHH@Z),该符号在函数 _main 中被引用 1>test.obj : error LNK2019: 无法解析的外部符号 "public: __thiscall Array<double>::Array<double>(int)" (??0?$Array@N@@QAE@H@Z),该符号在函数 _main 中被引用 1>test.obj : error LNK2019: 无法解析的外部符号 "public: __thiscall Array<int>::Array<int>(int)" (??0?$Array@H@@QAE@H@Z),该符号在函数 _main 中被引用 1>D:\vsprojects\chaper5\array3\Debug\array3.exe : fatal error LNK1120: 9 个无法解析的外部命令 补充:我将上述代码改写到同一个cpp文件中,发现问题解决。 我重新建立过项目和文件,确定不是建错工程、建错文件等情况。望各位给出一些方向,谢谢! 问答

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览