2013-01-05 119 views
2

當我試圖使用Visual Studio Express的2012(使用CMake的生成項目文件)編譯yaml-cpp 0.5,我從impl.h得到一些錯誤:YAML-CPP編譯器錯誤試圖建立圖書館

error C2734: 'lhs' : const object must be initialized if not extern 
error C2027: use of undefined type 'YAML::convert<T>' 
error C3861: 'decode': identifier not found 
error C3861: 'encode': identifier not found 

所有的錯誤都是從模板函數node_data::equalsnode_data::convert_to_node

注意,這些錯誤來自run-tests項目文件即將到來;我實際上能夠構建lib文件,但無法使用庫,因爲它需要這些功能才能工作。

任何想法?

編輯:較2010年VS

回答

0

在VS 2010名字符串const char[]類型,並且導致此編譯錯誤。 對我來說,速戰速決是扔在char*

YAML::Node config = YAML::LoadFile("Config.cfg"); 
int value = 0; 
if (config[(char*)"value"]) 
    config[(char*)"value"].as<int>(); 

看起來並不美觀,但工作到從圖書館借來的修復會來。