[英]Compilation error after including jsoncpp
當我嘗試構建測試源時,在此之后出現類似錯誤。
stl_tree.h:542:14: 錯誤:'__node' 沒有命名類型 ::new(__node) _Rb_tree_node<_Val>;
執行者的內容。
#include <CppUTest/TestHarness.h>
#include <CppUTest/CommandLineTestRunner.h>
#include <CppUTest/UtestMacros.h>
#include <CppUTestExt/MockSupport.h>
int main(int argc, char** argv) {
MemoryLeakWarningPlugin::turnOffNewDeleteOverloads();
return CommandLineTestRunner::RunAllTests(argc, argv);
}
我的測試的源代碼從下面開始包括。
#include <CppUTest/TestHarness.h>
#include <CppUTest/CommandLineTestRunner.h>
#include <CppUTest/UtestMacros.h>
#include <CppUTestExt/MockSupport.h>
#include <iostream>
#include "common/data_util_astro_cfg.h"
TEST_GROUP(ASTRO_UTIL_TEST) {
void setup() { }
void teardown() { }
};
“common/data_util_astro_cfg.h”文件包含以下內容。
#include "../data/data_type_file.h"
#include <json/json.h>
static AstroConfigs toAstroConfigs(std::string content)
我的問題是這些包含時出現編譯錯誤,當我刪除行 json.h include 時一切正常,我可以獲得二進制輸出。
我認為問題在於新運營商的沖突。 該解決方案由 Cpputest 端提供,位於http://cpputest.github.io/manual.html#memory_leak_detection 。 但不知何故不清楚。 :(
在包含 <map> 之后,已經在編譯錯誤上定義了這個問題。 它與我的非常相似,但問題已通過創建新項目解決。 在那種情況下,我別無選擇。 我正在使用 Yocto 項目,並且該項目也使用自動生成工具創建。
你能幫我解決這個問題嗎? (感謝您的時間。)
不幸的是,我在一段時間后解決了這個問題。 CPPUTest 似乎有問題。 在測試文件的頂部,我有幾個包含。 其中一些屬於 CPPUTest 庫,其中一些是我的。 我的包含遵循 CPPUTest 這就是為什么我收到錯誤的原因。 如果我改變他們的位置,它會正常工作。 這看起來毫無意義,但它是正確的解決方案。 “問題應該通過在包含列表底部定義 CPPUTEST 庫來解決。”
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.