好吧,我一直在尝试在Visual Studio 2015中创建一个C ++ DLL,这需要一段时间,因为我对Visual Studio不太满意。
我需要访问.NET库,特别是System :: Management。 (编写代码比由于糟糕的C ++实现所需要的更难,但至少它有一个。)
我修复了明显的错误,最后发现我必须在项目属性中启用CLR,然后使用References-> Add Reference选择相关的库。但毕竟,现在它只是给出了这个奇怪的错误:
LNK1104: cannot open file 'MSCOREE.lib'
编译器没有在任何东西下方显示红色波浪线,并且错误声称该行为“1”且文件为“LINK”,因此没有帮助。
我以为我可能搞砸了项目配置,所以我创建了一个新项目并将代码移到了上面。错误仍然发生。如果我关闭了CLR并注释掉了依赖于.NET的代码,那么构建成功没有错误。
所以我尝试从模板(Visual C ++ - > Win32控制台应用程序)创建一个新项目,然后在执行任何其他操作之前启用CLR。然后我再次尝试,选择不同版本的.NET框架。
最后,我尝试使用模板(Visual C ++ - > CLR - > CLR控制台应用程序)创建项目并立即构建它。我的意思是没有做任何事情。它仍然给出了同样的错误!
LNK1104: cannot open file 'MSCOREE.lib'
到底是怎么回事?我在这里做错了什么,还是VS2015刚刚坏了?
答案 0 :(得分:0)
试试这个, 右键单击显示&#; LNK1104的项目:无法打开文件' MSCOREE.lib'',然后选择属性 - >配置属性 - > VC ++目录 - >图书馆目录 - >添加下面用分号分隔的两个条目
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Lib
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Lib\x64
这是您的&#m; mscoree.lib'应该是,在执行此操作之前检查它是否存在,否则您可能需要安装/重新安装Microsoft SDK
答案 1 :(得分:0)
在某些情况下,SDK可能无法按照MSCoree.lib missing from WinSDK中的说明在LIB文件夹中安装所需文件。他们的解决方案是执行安装修复。这可能行不通。
我已成功运行WinSDKInterop_amd64\WinSDKInterop_amd64.msi
,导致创建:
C:\Program Files\Microsoft SDKs\Windows\v7.1\Lib\IA64\mscoree.lib
C:\Program Files\Microsoft SDKs\Windows\v7.1\Lib\mscoree.lib
C:\Program Files\Microsoft SDKs\Windows\v7.1\Lib\x64\mscoree.lib
答案 2 :(得分:0)
在Visual Studio安装程序“ C ++ / CLI支持”中签入所需版本的构建工具。
答案 3 :(得分:0)
我有同样的问题。 安装“ .NET Framework 4.6.1 SDK” 解决了该问题。注意版本号,从您的项目配置文件中获取它