【c/c++】multiple definition-->static & extern

本文探讨了编程中常见的重复定义错误,分析了错误产生的原因,并介绍了static与extern关键字的作用及其如何帮助解决这类问题。
正在启动生成... cmd /c chcp 65001>nul && g++.exe -fdiagnostics-color=always -g F:\CodeFiles\VScode\Project_test\Main.cpp system/resource/*.cpp -o F:\CodeFiles\VScode\Project_test/Main.exe -I F:\CodeFiles\VScode\Project_test/** -I F:\CodeFiles\VScode\Project_test/system/include -I F:\CodeFiles\VScode\Project_test/system/SFML-3.0.2/include -L F:\CodeFiles\VScode\Project_test/System/SFML-3.0.2/lib -lsfml-graphics -lsfml-window -lsfml-system -lsfml-audio-d E:/SelfCodeTool/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/15.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find F:\CodeFiles\VScode\Project_test/build: Permission denied E:/SelfCodeTool/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/15.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\Users\��ڷư�\AppData\Local\Temp\ccNHSayZ.o: in function `std::__new_allocator<char>::__new_allocator()': F:/CodeFiles/VScode/Project_test/Main.cpp:62: multiple definition of `sys_run(std::vector<text, std::allocator<text> >&, int&, sf::RenderWindow&)'; C:\Users\��ڷư�\AppData\Local\Temp\ccuE5dGX.o:F:/CodeFiles/VScode/Project_test/Main.cpp:62: first defined here E:/SelfCodeTool/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/15.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\Users\��ڷư�\AppData\Local\Temp\ccNHSayZ.o: in function `std::__new_allocator<sf::Vertex>::deallocate(sf::Vertex*, unsigned long long)': F:/CodeFiles/VScode/Project_test/Main.cpp:83: multiple definition of `main'; C:\Users\��ڷư�\AppData\Local\Temp\ccuE5dGX.o:F:/CodeFiles/VScode/Project_test/Main.cpp:83: first defined here E:/SelfCodeTool/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/15.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find F:\CodeFiles\VScode\Project_test/resources: Permission denied E:/SelfCodeTool/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/15.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find F:\CodeFiles\VScode\Project_test/save: Permission denied E:/SelfCodeTool/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/15.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find F:\CodeFiles\VScode\Project_test/system: Permission denied collect2.exe: error: ld returned 1 exit status 生成已完成,但出现错误。 C++ VScode 编译过程中的错误,请指出报错的原因,并给出修改意见。
10-26
C:/Users/User/AppData/Local/Arduino15/packages/esp32/tools/esp-x32/2507-cn/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld.exe: C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\neopixel.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/setting.h:29: multiple definition of `neoPixelActive'; C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\RfClown.ino.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/setting.h:29: first defined here C:/Users/User/AppData/Local/Arduino15/packages/esp32/tools/esp-x32/2507-cn/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld.exe: C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\neopixel.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/config.h:40: multiple definition of `pixels'; C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\RfClown.ino.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/config.h:40: first defined here C:/Users/User/AppData/Local/Arduino15/packages/esp32/tools/esp-x32/2507-cn/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld.exe: C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\neopixel.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/config.h:38: multiple definition of `u8g2'; C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\RfClown.ino.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/config.h:38: first defined here C:/Users/User/AppData/Local/Arduino15/packages/esp32/tools/esp-x32/2507-cn/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld.exe: C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\neopixel.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/config.h:95: multiple definition of `lastPressTime'; C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\RfClown.ino.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/config.h:95: first defined here C:/Users/User/AppData/Local/Arduino15/packages/esp32/tools/esp-x32/2507-cn/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld.exe: C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\neopixel.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/config.h:93: multiple definition of `ChangeRequested2'; C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\RfClown.ino.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/config.h:93: first defined here C:/Users/User/AppData/Local/Arduino15/packages/esp32/tools/esp-x32/2507-cn/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld.exe: C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\neopixel.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/config.h:92: multiple definition of `ChangeRequested1'; C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\RfClown.ino.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/config.h:92: first defined here C:/Users/User/AppData/Local/Arduino15/packages/esp32/tools/esp-x32/2507-cn/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld.exe: C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\neopixel.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/config.h:91: multiple definition of `ChangeRequested'; C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\RfClown.ino.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/config.h:91: first defined here C:/Users/User/AppData/Local/Arduino15/packages/esp32/tools/esp-x32/2507-cn/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld.exe: C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\neopixel.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/config.h:80: multiple definition of `channelGroup_3'; C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\RfClown.ino.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/config.h:80: first defined here C:/Users/User/AppData/Local/Arduino15/packages/esp32/tools/esp-x32/2507-cn/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld.exe: C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\neopixel.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/config.h:79: multiple definition of `channelGroup_2'; C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\RfClown.ino.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/config.h:79: first defined here C:/Users/User/AppData/Local/Arduino15/packages/esp32/tools/esp-x32/2507-cn/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld.exe: C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\neopixel.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/config.h:78: multiple definition of `channelGroup_1'; C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\RfClown.ino.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/config.h:78: first defined here C:/Users/User/AppData/Local/Arduino15/packages/esp32/tools/esp-x32/2507-cn/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld.exe: C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\neopixel.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/config.h:76: multiple definition of `current'; C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\RfClown.ino.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/config.h:76: first defined here C:/Users/User/AppData/Local/Arduino15/packages/esp32/tools/esp-x32/2507-cn/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld.exe: C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\neopixel.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/config.h:73: multiple definition of `current_Mode'; C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\RfClown.ino.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/config.h:73: first defined here C:/Users/User/AppData/Local/Arduino15/packages/esp32/tools/esp-x32/2507-cn/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld.exe: C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\neopixel.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/setting.h:30: multiple definition of `oledBrightness'; C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\RfClown.ino.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/setting.h:30: first defined here C:/Users/User/AppData/Local/Arduino15/packages/esp32/tools/esp-x32/2507-cn/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld.exe: C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\setting.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/config.h:38: multiple definition of `u8g2'; C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\RfClown.ino.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/config.h:38: first defined here C:/Users/User/AppData/Local/Arduino15/packages/esp32/tools/esp-x32/2507-cn/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld.exe: C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\setting.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/config.h:40: multiple definition of `pixels'; C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\RfClown.ino.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/config.h:40: first defined here C:/Users/User/AppData/Local/Arduino15/packages/esp32/tools/esp-x32/2507-cn/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld.exe: C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\setting.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/config.h:95: multiple definition of `lastPressTime'; C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\RfClown.ino.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/config.h:95: first defined here C:/Users/User/AppData/Local/Arduino15/packages/esp32/tools/esp-x32/2507-cn/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld.exe: C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\setting.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/config.h:93: multiple definition of `ChangeRequested2'; C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\RfClown.ino.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/config.h:93: first defined here C:/Users/User/AppData/Local/Arduino15/packages/esp32/tools/esp-x32/2507-cn/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld.exe: C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\setting.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/config.h:92: multiple definition of `ChangeRequested1'; C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\RfClown.ino.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/config.h:92: first defined here C:/Users/User/AppData/Local/Arduino15/packages/esp32/tools/esp-x32/2507-cn/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld.exe: C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\setting.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/config.h:91: multiple definition of `ChangeRequested'; C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\RfClown.ino.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/config.h:91: first defined here C:/Users/User/AppData/Local/Arduino15/packages/esp32/tools/esp-x32/2507-cn/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld.exe: C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\setting.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/config.h:80: multiple definition of `channelGroup_3'; C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\RfClown.ino.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/config.h:80: first defined here C:/Users/User/AppData/Local/Arduino15/packages/esp32/tools/esp-x32/2507-cn/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld.exe: C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\setting.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/config.h:79: multiple definition of `channelGroup_2'; C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\RfClown.ino.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/config.h:79: first defined here C:/Users/User/AppData/Local/Arduino15/packages/esp32/tools/esp-x32/2507-cn/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld.exe: C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\setting.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/config.h:78: multiple definition of `channelGroup_1'; C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\RfClown.ino.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/config.h:78: first defined here C:/Users/User/AppData/Local/Arduino15/packages/esp32/tools/esp-x32/2507-cn/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld.exe: C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\setting.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/config.h:76: multiple definition of `current'; C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\RfClown.ino.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/config.h:76: first defined here C:/Users/User/AppData/Local/Arduino15/packages/esp32/tools/esp-x32/2507-cn/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld.exe: C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\setting.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/config.h:73: multiple definition of `current_Mode'; C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\RfClown.ino.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/config.h:73: first defined here C:/Users/User/AppData/Local/Arduino15/packages/esp32/tools/esp-x32/2507-cn/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld.exe: C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\setting.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/setting.h:30: multiple definition of `oledBrightness'; C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\RfClown.ino.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/setting.h:30: first defined here C:/Users/User/AppData/Local/Arduino15/packages/esp32/tools/esp-x32/2507-cn/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld.exe: C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\setting.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/setting.h:29: multiple definition of `neoPixelActive'; C:\Users\User\AppData\Local\arduino\sketches\F0E01E7FE196C94C459E71935990690B\sketch\RfClown.ino.cpp.o:C:\Users\User\Downloads\RF-Clown-main\RF-Clown-main\RfClown/setting.h:29: first defined here collect2.exe: error: ld returned 1 exit status exit status 1 Compilation error: exit status 1
最新发布
11-20
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值