在我提出问题之前,让我们先了解一下我的开发环境:
操作系统:Windows 64位
集成开发环境(IDE):Visual Studio 2013
我想通过一个C#项目来控制一个设备。我从设备制造商处获得了.h文件和静态库(.lib文件)。在C++控制台应用程序中,控制工作得很好。 但是现在我有一些问题要构建一个C#的DLL文件。
为了构建这样一个.dll文件,我创建了一个空的C++ DLL控制台应用程序,将.h文件复制到项目中,并将.lib文件引用到链接器中(在解决方案设置中添加“附加库目录”和“附加依赖项”)。
但是在这一步中,问题出现了。当我构建项目时,控制台会打印出:
========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
日志文件没有显示任何错误,但Debug(或Release)文件夹中没有DLL文件。
我尝试过:我添加了一个“虚假”的.cpp文件,在其中实现了.h文件中的一个函数 -> 构建了dll。因此,我想Visual Studio无法识别.lib文件。
下一步将是编写一个带有DllImport命令的C#“包装器”。
感谢您提前的所有答案和提示。
__declspec(dllexport)
标签。所以我不需要.def文件,对吧?而且我也没有尝试导出类实例方法或使用std::string等类似东西的函数。 @RobertAndrzejuk 新建项目 -> Visual C++ -> Win32控制台应用程序 -> 应用程序类型:DLL。希望这有助于理解。 - Blackbriar