關於c++編譯protobuf時提示LNK2001 無法解析的外部符號的問題
阿新 • • 發佈:2020-12-14
在所在配置完成後編譯protobuf時還是提示如下
LNK2001無法解析的外部符號 "union google::protobuf::internal::EmptyString google::protobuf::internal::fixed_address_empty_string" (?fixed_address_empty_string@internal@protobuf@google@@3TEmptyString@123@A)
真坑啊,各種操作猛如虎後結果還是不行。
vs2017裡設定如下
然後查要在引用的標頭檔案裡增加 #define PROTOBUF_USE_DLLS
,但是編譯時會報protobuf.lib的重定義錯誤,於是把PROTOBUF_USE_DLLS
Qt編輯器設定如下
在Makefile檔案中定義預編譯巨集定義 PROTOBUF_USE_DLLS 方法如下:
CFLAGS:= -DPROTOBUF_USE_DLLS
而在qt的 .pro檔案中新增方法如下:
DEFINES +=PROTOBUF_USE_DLLS
到此這篇關於關於c++編譯protobuf時提示LNK2001 無法解析的外部符號的問題的文章就介紹到這了,更多相關c++ LNK2001 無法解析的外部符號內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!