Qt型別重定義 不同的鏈結

2021-10-11 01:12:17 字數 555 閱讀 8986

qt構建程式時出現如下報錯,有很多,大概是成百上千的報錯標頭檔案重定義,而且是系統檔案報錯。這個就要說到另乙個部落格了與這個問題有很多相似之處

檢視了網上很多的資料,說是重複包含標頭檔案,形成了乙個迴圈,就是你包含我,我包含你,最出現排斥錯誤。我檢視了一下所有的標頭檔案的包含檔案,發現並沒有重複包含什麼標頭檔案,如果有,就是引用的外部標頭檔案之間問題。比如說我引用了外部檔案a和b,這兩個檔案恰好包含了同乙個檔案c,並且對這個檔案的某些巨集定義做了重定義,那麼問題來了,c檔案到底聽誰的呢?

所以需要在#include 前一行新增#define win32_lean_and_mean//去除一些不常用的。 出處:

#define win32_lean_and_mean他的作用根據博主的描述和其他對這條指令的解釋推斷:去除一些不常用的巨集定義,直白一點,c檔案說我不要了,你們拿去隨便用。這些去除的定義就可以成為檔案a或b私有的了,這樣就不會產生衝突了。

重定義 不同的基型別

重定義 不同的基型別 編譯某些原始碼時 可能遇到這個問題 如下圖 解決辦法 在出問題的原始碼部分 新增 ifndef msc ver 1600 具體的值看你的編譯器版本 endif 原因 大概是因為編譯器的版本問題吧 msc ver 定義編譯器的版本。下面是一些編譯器版本的 msc ver值 ms ...

C 中的型別重定義

發現重複定義是由於從兩個不同的路徑包含了同乙個標頭檔案而引起的,同事也建議從另外乙個路徑開啟工程試試,這才慢慢發現了原因。這個原因可能有些拗口,而事實上要出現這種錯誤也有些 曲折 讓我從不同情況下的型別重定義來解釋一下吧。我總結的型別重定義情況有三。一 沒有在檔案頭加 pragma once指示符。...

C 型別重定義詳解

這幾天工作時碰到乙個c 的編譯錯誤 我使用的是visual c 7.0 說是有乙個類重複定義,仔細想想我們的這個專案也是做了好幾個release了,內部 應該不會有這樣的低階錯誤,真把型別給重複定義了,檢查結果正如我預料的一樣。就這樣,我左右沒找到原因,被乙個編譯錯誤給卡在那裡了。在我的概念中,程式...