gcc編譯錯誤

2022-05-23 13:30:14 字數 397 閱讀 6494

使用boost的時候遇到乙個鏈結錯誤

undefined reference to `boost::system::detail::generic_category_instance

出現這個問題的有幾種情況

1.沒有指定動態庫或者靜態庫 這種是最常見的 直接新增編譯引數即可-lboost_system

2.專案中要新增編譯引數-std=c++11 這裡的c++11應該是和編譯boost的gcc版本支援的一致

剛好我專案中兩種情況都不是,實際上已經指定了靜態庫的,原來是編譯boost的gcc支援c++11,使用boost的時候卻使用了c++17

最後的方案是 重啟系統,讓新版本的gcc生效,然後重新編譯boost,最後在自己的專案中新增-std=c++17引數就行了

常見gcc編譯錯誤

wtype limits 出現 if p null 情況本應該是if p null 但是編譯器只會給出警告,而不是直接報錯,可以採用if null p 避免 unsigned char i for i 0 i 255 i 大部分只會給出警告 wreorder 定義變數和初始化變數順序不一致 wign...

mk編譯錯誤

要在工程 中加乙個巨集去控制 在config.mk中定義這個巨集 enable it6263 1 在compile option.mk中根據這個值來定義巨集 ifeq enable it6263 1 cc opts denable it6263 1 else cc opts denable it62...

Greta 編譯錯誤

背景 greta2.6.4在vs2008編譯通過,在vs2013中,編譯出現以下錯誤 1 regexpr2.cpp 1 c users administrator desktop greta greta restack.h 56 error c2332 struct 缺少標記名 1 c users ...