请高手解决:Intel C++编译错误error LNK2019: 无法解析的外部符号

jqmoab 2015-09-06 01:17:15
我在WinXP中安装中VS2010,然后再安装了Intel Composer XE 2013,在cmd窗口中使用命令行进行编译,先运行了compilervars.bat 、compilervars_arch.bat、iclvars.bat这些环境设置,设为ia32,然后再命令icl进行编译,出现以下错误。
命令行是这样的:
icl -O2 bmc.cpp cp_pair.cpp zzn2.cpp big.cpp zzn.cpp ecn.cpp miracl.lib -o bmc_cp
错误信息如下:
zzn2.obj : error LNK2019: 无法解析的外部符号 _zzn2_qr,该符号在函数 "int __cdecl is_on_curve(class ZZn2 const &)" (?is_on_curve@@YAHABVZZn2@@@Z) 中被引用
zzn2.obj : error LNK2019: 无法解析的外部符号 _zzn2_sqrt,该符号在函数 "class ZZn2 __cdecl sqrt(class ZZn2 const &)" (?sqrt@@YA?AVZZn2@@ABV1@@Z) 中被引用
big.obj : error LNK2019: 无法解析的外部符号 _mround,该符号在函数 "class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl otfloat(class std::basic_ostream<char,struct std::char_traits<char> > &,class Big const &,int)" (?otfloat@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@std@@AAV12@ABVBig@@H@Z) 中被引用
big.obj : error LNK2019: 无法解析的外部符号 _fmul,该符号在函数 "class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl otfloat(class std::basic_ostream<char,struct std::char_traits<char> > &,class Big const &,int)" (?otfloat@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@std@@AAV12@ABVBig@@H@Z) 中被引用
big.obj : error LNK2019: 无法解析的外部符号 _fdiv,该符号在函数 "class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl otfloat(class std::basic_ostream<char,struct std::char_traits<char> > &,class Big const &,int)" (?otfloat@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@std@@AAV12@ABVBig@@H@Z) 中被引用
bmc_cp.exe : fatal error LNK1120: 5 个无法解析的外部命令


而我在inux下使用以下命令却是能够正常编译链接的:
g++ -O2 bmc.cpp cp_pair.cpp zzn2.cpp big.cpp zzn.cpp ecn.cpp miracl.lib -o bmc_cp
请教高手,特别是使用过intel C++ 的朋友,在win xp中的出现的上面那些链接错误error LNK2019如何解决?
...全文
245 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
jqmoab 2015-09-06
  • 打赏
  • 举报
回复
已经解决了。原来这个Intel parallel studio xe 在C盘program files下的common files还有一个Share libraries目录,把此目录 加入到path环境变量中,编译就一切正常了。
赵4老师 2015-09-06
  • 打赏
  • 举报
回复
执行命令: icl /? 或 在网上搜 搞清楚如何在icl的命令行设置引入指定目录下的指定库。
jqmoab 2015-09-06
  • 打赏
  • 举报
回复
是的,就是不清楚如何设置环境变量。按理说,intel的这个2013产品安装就可以自动设置环境变量,但是没有。 运行了PathShortener.exe,只是给出一堆路径,并没有解决问题。 在path环境变量中增加了intel c++安装目录中include和lib的路径,重启电脑,再编译,错误还是和上面一样。
Isnis-fallen 2015-09-06
  • 打赏
  • 举报
回复
未能正确引入连接库
赵4老师 2015-09-06
  • 打赏
  • 举报
回复
总是发现Path环境变量被某些软件安装时错误修改。比如带空格的目录名未加引号、带汉字的目录引起目录查找混乱等问题,严重影响系统查找可执行文件和dll。 编译此源代码,生成PathShortener.exe,然后在cmd窗口里面运行PathShortener.exe>path.txt,打开path.txt,手动将其内容拷贝粘贴覆盖修改‘我的电脑、属性、高级、环境变量、系统变量、Path、编辑、变量值’即可纠正设置错误的Path http://download.csdn.net/detail/zhao4zhong1/2652343

64,654

社区成员

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

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