运行c++程序时遇到下述问题:
error LNK2005: "class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > FILE_PATH3" (?FILE_PATH3@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A) 已经在 Optimization.cpp.obj 中定义
报错在main.cpp中,main.cpp中有#include "Optimization.h"但main.cpp中没有使用FILE_PATH3
Optimization.h中定义了std::string FILE_PATH3 = “C:\F\VSA_backup_set\libigl-project-for-point-cloud-segment\out\build\data\result\”;
解决办法:
将Optimization.h中的全局变量std::string FILE_PATH3 = “C:\F\VSA_backup_set\libigl-project-for-point-cloud-segment\out\build\data\result\”; 的前面加一个const,即改成全局变量
const std::string FILE_PATH3 = "C:\\F\\VSA_backup_set\\libigl-project-for-point-cloud-segment\\out\\build\\data\\result\\";
加一个const后就不再报错了