簡體   English   中英

調試模式有效。 釋放模式會產生大量錯誤!

[英]Debug mode works. Release mode generates ERRORs galore!

我有一個使用本機.DLL庫的解決方案,該庫由帶有C#GUI的.NET .DLL包裝。

我的所有管道在Debug模式下都可以正常工作。 當我嘗試進入發布模式時,我會收到大量錯誤消息,很大程度上與本機庫中的.CPP文件有關。 錯誤包括以下內容:

  1. 不允許定義dllimport函數
  2. TRACE_DEBUG_METHOD_CALL:找不到標識符
  3. 我的主.CPP文件中有很多未聲明的標識符(例如:DLLAPI_Release:未聲明的標識符)

我必須承認C / C ++項目的“屬性”配置不堪重負,所以我想知道我是否僅需要修改某個地方是否存在一個或多個簡單設置。

另外,是否有專門針對VS2010中的項目屬性窗口的書? 我有幾本書,但沒有一本書真正花費在任何時間上,而這顯然是認真的應用程序開發的非常關鍵的組成部分。

感謝任何人可以提供的任何幫助。 謝謝!

當您進行了許多設置更改但未同時針對Release版本進行更改時,這種情況並非不可能。 容易忘記,還是第一次。 您可以輕松知道哪些設置已更改為默認設置,它們以粗體顯示。 逐步瀏覽設置頁面,使用左上角的“配置”組合框來回翻轉。

大約15分鍾的時間,這不包括您需要的思考時間,因為Release版本的設置應該有所不同。 用一個虛擬項目啟動另一個Visual Studio實例以驗證這一點。

試圖比較屬性頁可能是一個失敗。 我的建議是打開項目的屬性頁,選擇Debug配置,然后在“ C / C ++”下選擇“ Command Line”並將命令行選項復制到文本編輯器中,然后對Release配置執行相同的操作看看它們有何不同。 您需要對“鏈接器”命令行執行相同的操作。

有些差異是有意為之的(例如,應為Debug配置設置調試標志),但是您應該能夠發現應該相同但不相同的事物。

實際跟蹤命令行選項的設置可能會有些麻煩,尤其是如果您使用屬性表來管理項目之間的公共屬性時,但通常您應該能夠通過查看以下內容中的不同選項來跟蹤它們:不同的頁面。

作為參考,最好的參考是MSDN上的實際編譯器文檔。 有一節包含所有已記錄的編譯器選項,而一個包含所有已記錄的鏈接器選項

屬性頁面只是用於設置這些各種選項的GUI前端。 在屬性頁中選擇一個屬性時,應在對話框底部的幫助框中說出該屬性使用了哪些編譯器選項。

暫無
暫無

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

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