草庐IT

c++ - 错误 LNK2005 : _DllMain@12 already defined in MSVCRT. 库

我收到此链接器错误。mfcs80.lib(dllmodul.obj):errorLNK2005:_DllMain@12alreadydefinedinMSVCRT.lib(dllmain.obj)请告诉我消除此错误的正确方法。我在microsoft支持网站上阅读了有关此错误的解决方案,但没有太大帮助。我正在使用带有PlatformSDK的VS2005 最佳答案 我收到了同样的错误信息,但这里的答案都没有为我解决。因此,如果您在创建使用MFC的DLL项目时遇到该问题,可以通过输入以下行来解决:extern"C"{int_afxForc

c++ - 错误 LNK2005 : new and delete already defined in LIBCMTD. lib(new.obj)

我有一个包含两个项目的VisualStudio2005解决方案。一个是静态库,另一个是用于测试静态库中功能的可执行文件。静态库使用MFC。构建解决方案时出现以下错误。uafxcwd.lib(afxmem.obj):errorLNK2005:"void*__cdecloperatornew(unsignedint)"(??2@YAPAXI@Z)alreadydefinedinLIBCMTD.lib(new.obj)uafxcwd.lib(afxmem.obj):errorLNK2005:"void__cdecloperatordelete(void*)"(??3@YAXPAX@Z)alr

c++ - VC++ fatal error LNK1168 : cannot open filename. exe for writing

突然,我的VisualStudioExpress2010C++停止重建我的项目。当我第一次点击F7时,项目构建并运行良好(哎呀,这是一个helloworld示例)。然后我进行一些更改并再次按F7,然后我得到:1>LINK:fatalerrorLNK1168:cannotopenC:\Users\username\Documents\VisualStudio2010\Projects\console\Debug\console.exeforwriting**现在有趣的事情来了:应用未运行,也未显示在任务管理器中。进入项目目录并尝试用手将其删除会成功,但文件再次从无处出现。系统还原已禁用。

c++ - LNK4075 : ignoring '/EDITANDCONTINUE' due to '/OPT:ICF' specification

我最近将一个多项目VisualStudio解决方案转换为对每个项目使用.dll而不是.libs。但是,我现在收到示例中所述的每个项目的链接器警告。MSDN对此并没有太大帮助。为什么会这样,我该如何解决?Warning2warningLNK4075:ignoring'/EDITANDCONTINUE'dueto'/OPT:ICF'specificationLudoCamera.obj 最佳答案 您可以拥有“编辑并继续”支持或优化。通常,您将“编辑并继续”放在调试版本上,并将优化放在发布版本上。Editandcontinue允许您在调试

c++ - LNK2038 : mismatch detected for 'RuntimeLibrary' : value 'MT_StaticRelease' doesn't match value 'MD_DynamicRelease' in file. 对象

我正在将Matlab、C和Cuda集成到一个项目中。我使用Matlabmix为了将用c编写的matlabmx函数与cuda运行时库连接起来,出现关于c文件和库之间的静态发布和动态发布冲突的链接错误。谁能解决这个问题?errorLNK2038:mismatchdetectedfor'RuntimeLibrary':value'MT_StaticRelease'doesn'tmatchvalue'MD_DynamicRelease'infile.obj. 最佳答案 当您静态将项目与库(通常是扩展名为.lib的文件)链接但您的Visual

c++ - 错误 LNK2005,已定义?

我在Win32控制台应用程序中有2个文件,A.cpp和B.cpp。这两个文件只包含以下两行代码:#include"stdafx.h"intk;编译时会报错Error1errorLNK2005:"intk"(?a@@3HA)alreadydefinedinA.obj我不明白发生了什么。谁能给我解释一下? 最佳答案 为什么会出现这个错误?你破坏了onedefinitionrule并因此导致链接错误。建议的解决方案:如果您需要在两个cpp文件中使用相同的命名变量,那么您需要使用无名命名空间(匿名命名空间)来避免错误。namespace{i

c++ - 错误 LNK2038 : mismatch detected for '_MSC_VER' : value '1600' doesn't match value '1700' in CppFile1. 对象

我正在将我的项目从VS2010转换为VS2012。但在某些项目中出现_MSC_VER链接器错误。通过谷歌浏览了很长时间后,我发现问题是由于在VS2010中创建的库链接到VS2012。如何找出是哪个项目导致了错误?我在这里引用错误:Error6errorLNK2038:mismatchdetectedfor'_MSC_VER':value'1600'doesn'tmatchvalue'1700'inCppFile1.objD:\ProjectLocation\Projectname1.lib(CppFile2.obj)Projectname2Error15errorLNK2001:unr

c++ - 错误 LNK2005 : xxx already defined in MSVCRT. lib(MSVCR100.dll) C :\something\LIBCMT. lib(setlocal.obj)

我正在使用DCMTK库来读取Dicom文件(医学图像处理中使用的图像格式)。我在编译此DCMTK源代码时遇到了问题。DCMTK使用了一些额外的外部库(zlib、tiff、libpng、libxml2、libiconv)。我知道所有库都应该使用相同的代码生成选项生成。我已经下载了这些支持库的编译版本,这些支持库是使用“多线程DLL”运行时选项(/MD)编译的。在DCMTK源代码的每个项目中,我确保运行时选项是“多线程DLL”(/MD)。但我仍然收到这些错误:Error238errorLNK2005:___iob_funcalreadydefinedinMSVCRT.lib(MSVCR10

c++ - Visual Studio : LINK : fatal error LNK1181: cannot open input file

一段时间以来,我一直在VisualStudio2010中遇到一个奇怪的错误。我有一个解决方案,其中包含一个编译为静态库的项目,以及另一个非常简单但依赖于该库的项目。有时,最近几天非常频繁,在重建解决方案或仅使用1-3个更改的源文件编译后,我收到以下错误:2>LINK:fatalerrorLNK1181:cannotopeninputfile'thelibrary.lib'==========RebuildAll:1succeeded,1failed,0skipped==========编译thelibrary.lib是成功的,没有任何错误或警告。我已尝试清洁解决方案,但这并不总是有效。

c++ - fatal error LNK1104 : cannot open file 'libboost_system-vc110-mt-gd-1_51.lib'

看来我不能让它工作。我制作了一个简单的控制台应用程序(依赖于websocket++库),它需要Boost库..但是当我尝试编译时,我得到:fatalerrorLNK1104:cannotopenfile'libboost_system-vc110-mt-gd-1_51.lib'但是,我做了bjam,它在(boost_root)/stage/libs中创建了库,并将库的路径链接到编译器C++/Additionnals包含.如果我查看(boost_root)/stage/libs文件libboost_system-vc110-mt-gd-1_51.lib不存在。它被称为libboost_s