簡體   English   中英

構建C ++ dll以進行發布和調試

[英]Build C++ dll for Release and Debug

所以我開始使用C ++,最近我建立了一個logger類,即在屏幕和/或日志文件上打印任何類型。 我將其構建為dll,輸出文件為

console.h
console.lib
console.dll

然后,我將這些文件作為其他包含項導入到另一個項目中,並且它只能在調試模式下(該文件是在其中構建的)工作,而無論構建配置如何,我希望它都能工作。 我該怎么做。 一個例子,我最近使用了GLFW庫,並且可以內置這兩種庫的編譯方式以使其正常工作。

如果我正確理解,您正在嘗試將相同版本的lib / dll與應用程序的調試和發布配置鏈接在一起。

通常,您需要兩個版本的lib / dll文件(調試和發行版),並鏈接到與您的應用程序配置匹配的版本,因此對於您的應用程序的調試配置,請鏈接到您的lib / dll的調試配置,並與發行版一起發布。

使用混合配置(例如帶有發布exe的調試dll)的最可能問題是在一個域中分配內存,然后在另一個域中釋放內存。

編輯:

詳細地說,問題可能出在DLL中分配內存並在EXE中釋放它,反之亦然。 這至少在VS C-Runtime中不起作用。 有關更多詳細信息,請參閱: https : //stackoverflow.com/a/45806858/453271

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM