widget.obj : error LNK2005: "class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > button_qss" (?button_qss@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A) 已经在 main.obj 中定义
时间: 2024-01-19 12:04:08 浏览: 193
error LNK2005: DllMain already defined in corelibc.lib(dllmain.obj)
这是一个链接错误,意思是在你的代码中,button_qss被多次定义了。可能原因是你在多个源文件中都定义了button_qss,或者在头文件中定义了button_qss并且被多个源文件包含了。解决方法是将button_qss的定义放到一个源文件中,并在其他源文件中使用extern关键字来声明。这样编译器就不会将button_qss定义多次了。示例代码如下:
在一个源文件中定义button_qss:
```
// button_qss.cpp
#include <string>
std::string button_qss = "your button qss code";
```
在其他源文件中使用button_qss:
```
// main.cpp
#include <string>
extern std::string button_qss;
int main() {
// use button_qss here
return 0;
}
```
阅读全文