fatal error LNK1169: one or more multiply defined symbols found 解决方法

1.Linker Tools Error LNK1169

one or more multiply defined symbols found

The build failed due to multiple definitions of one or more symbols. This error is preceded by error LNK2005.

The /FORCE or /FORCE:MULTIPLE option overrides this error.

也就是"在 Project/Setting/Link/General中的 Project Options: 加入 /FORCE:MULTIPLE即可"

2.Linker Tools Error LNK2005

symbol already defined in object

The given symbol, displayed in its decorated form, was multiply defined.

Tips

One of the following may be a cause:

  • The most common cause of this error is accidentally linking with both the single-threaded and multithreaded libraries. Ensure that the application project file includes only the appropriate libraries and that any third-party libraries have appropriately created single-threaded or multithreaded versions.//到 "Project属性" -> "C/C++" -> "代码生成(code generation)" -> "运行时库(run-time library)" 项下设置应用程序为多线程,或单线程
  • The given symbol was a packaged function (created by compiling with /Gy) and was included in more than one file but was changed between compilations. Recompile all files that include the symbol. //C语言提供了一种将多个目标文件打包成一个文件的机制,这就是静态程序库(static library)。程序库为开发者带来了方便,但同时也是某些混乱的根源......略去
  • The given symbol was defined differently in two member objects in different libraries, and both member objects were used.//不同库中对同一全局对象有不同定义.
  • An absolute was defined twice, with a different value in each definition. //.//不同库中对同一全局对象有不同值.

This error is followed by fatal error LNK1169.

     这里只是给出了遇到这些错误时可能出现问题的原因。

    例如我是在VS2010里面配置CLAPACK时,编译出现错误,通过查阅资料发现,我们在所需工程中添加了CLAPACK库后,其编译方式 应该和 我们在编译CLAPACK库文件时所选的方式要相同(http://www.docin.com/p-105319970.html),如都选MT/d,就不会弹出这个错误。

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值