如何修复致命错误C1113:"Mylib.lib"上的#using失败

Jon*_*age 4 dll c++-cli .lib

我有一个项目,它使用C++/CLI实现GUI和一些后台处理来与传感器通信.我已经完成了所有工作,并且我们用来传达传感器的很多通信内容都位于.dll中.问题是我想将库合并到主可执行文件中,以避免担心分发.dll.

我有一个使用.lib工作正常的演示项目,但是当我尝试切换mani代码体以生成.lib而不是.dll时,我收到以下错误:

1>------ Build started: Project: MyTool, Configuration: Debug Win32 ------
1>Compiling...
1>stdafx.cpp
1>.\stdafx.cpp : fatal error C1113: #using failed on 'c:\projects\MyTool\debug\MyLib.lib'
Run Code Online (Sandbox Code Playgroud)

一些谷歌搜索表明,当你没有应用MSIL开关时会发生这种情况,但它绝对存在于库项目中.

在我的演示项目和真实的东西中,我有托管和非托管代码的混合,所以我真的很难看到问题出在这里.

非常感谢任何建议!

mcd*_*ave 7

我猜了一下,但我怀疑"MyTool"项目将"MyLib"项目作为其"引用"之一("项目"菜单>>属性>>公共属性>>参考).

当您将MyLib项目的类型更改为LIB而不是DLL时,您需要从项目引用中删除"MyLib".然后,您更新解决方案的项目依赖项("项目"菜单>>"项目依赖项..."),以便MyTool依赖于MyLib.