c+++コンパイルprotobufについてLNK 2001では解析できない外部シンボルの問題を提示します。
場所の配置が完了した後、プロトブンスをコンパイルする時、以下のように注意します。
LNK 2001 解析できない外部記号「union google:protobuf:internal:EmptyString google:protobuf:internal:fixed_address_empty_string"(?fixed_address_empty_string@internal@protobuf@google@@3TEmptyString@123@A)
本当にだめですね。虎のように激しい操作をしてもだめです。
vs 2017には以下のように設定されています。
その後、参照のヘッダファイルに
Qtエディタの設定は以下の通りです。
Makefileファイルにプリコーディングマクロ定義PROTOBUF_を定義します。USE_DLS方法は以下の通りである
LNK 2001 解析できない外部記号「union google:protobuf:internal:EmptyString google:protobuf:internal:fixed_address_empty_string"(?fixed_address_empty_string@internal@protobuf@google@@3TEmptyString@123@A)
本当にだめですね。虎のように激しい操作をしてもだめです。
vs 2017には以下のように設定されています。
その後、参照のヘッダファイルに
#define PROTOBUF_USE_DLLS
を追加すると検索しますが、コンパイルするとプロトブフ.libの再定義が間違っていますので、PROTOBUFを追加します。USE_DLS定義はプロジェクトのプリプロセッサ定義に入れるといいです。これはvs 2017のやり方です。Qtエディタの設定は以下の通りです。
Makefileファイルにプリコーディングマクロ定義PROTOBUF_を定義します。USE_DLS方法は以下の通りである
CFLAGS:= -DPROTOBUF_USE_DLLS
qtのproファイルに追加する方法は以下の通りです。
DEFINES +=PROTOBUF_USE_DLLS
ここでc+++protobufをコンパイルする際にLNK 2001では解決できない外部シンボルの問題についての文章を紹介します。もっと関連しているc+LNK 2001では解析できない外部シンボルの内容を紹介します。以前の文章を検索してください。または下記の関連記事を引き続きご覧ください。