[英]JSONCPP Amalgamated link errors
我正在嘗試使用 jsoncpp(最新版本)的合並版本,但它產生了未解決的外部符號鏈接錯誤。 我使用的代碼是
#include <json/json.h>
int main(){
Json::Value root;
return 0;
}
它給了我錯誤
1>main.obj : error LNK2019: unresolved external symbol "public: __thiscall Json::Value::~Value(void)" (??1Value@Json@@QAE@XZ) referenced in function _main
1>main.obj : error LNK2019: unresolved external symbol "public: __thiscall Json::Value::Value(enum Json::ValueType)" (??0Value@Json@@QAE@W4ValueType@1@@Z) referenced in function _main
可能您沒有將 JSONCPPs *.cpp 文件包含到您的項目中(它們必須被編譯和鏈接)。 如果庫被編譯為靜態庫,您必須告訴鏈接器鏈接什么。
我在我的 x64 版本中嘗試鏈接 x86 版本的 JsonCpp 時得到了這個。 我沒有注意到 Vcpkg 的行為就像定義了VCPKG_DEFAULT_TRIPLET=x86-windows
,除非另有說明。
發生這種情況時,我在構建日志中看到了以下條目
C:\\Tools\\vcpkg\\installed\\x86-windows\\debug\\lib\\jsoncpp.lib:警告 LNK4272:庫機器類型“x86”與目標機器類型“x64”沖突 [C:\\projects\\qpid-proton\\BLD\\ cpp\\qpid-proton-cpp.vcxproj]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.