为发布和调试构建C ++ DLL

时间:2017-08-26 22:50:13

标签: c++ dll

所以我进入c ++并且我最近构建了一个记录器类,即将任何类型打印到屏幕和/或日志文件中。我把它建成一个DLL,输出文件是

Price.cs

然后我将这些文件作为附加包含导入到另一个项目中,它只能在调试模式(构建它)中工作,我希望无论构建配置如何都可以工作。我怎样才能做到这一点。例如,我最近使用了GLFW库,并且可以构建它是如何为此工作而编译的。

1 个答案:

答案 0 :(得分:0)

如果我正确理解您正在尝试将相同版本的lib / dll与应用的调试和发布配置相关联。

一般情况下,您需要两个版本的lib / dll文件,调试和发布,并链接到与您的应用程序配置相匹配的文件,因此对于您的应用程序的调试配置链接与您的lib / dll的调试配置,以及随着发布而发布。

使用混合配置的最可能的问题(比如使用release exe调试dll)是在一个域中分配内存并在另一个域中释放它。

编辑:

详细说明,问题可能是在DLL中分配内存并在EXE中释放它,反之亦然。这不起作用,至少在VS C-Runtime中是这样。有关详细信息,请参阅:https://stackoverflow.com/a/45806858/453271