我确定我做错了什么但是...我在一台计算机上开发了一个 c++ 项目,安装了相同版本的 Ubuntu,相同版本的 g++,它在那里编译得很好。我将这些文件放入 DropBox 文件夹中,以便我可以在家处理它,这里有完全相同的文件,并且完全相同的 g++ 命令会导致错误。它给了我几个“'_' 的多重定义”错误。
有谁知道我在这里做错了什么?
示例错误:
g++ -o*.C *.cpp
/tmp/ccdFZtkq.o:(.bss+0x718): multiple definition of `done'
最佳答案
问题是 DropBox 将后缀附加到我最能描述为处于“中间”状态的文件。 DropBox 还创建了没有处于中间状态的后缀的文件。我仍然不确定发生了什么,但有时在 g++ 运行时,它同时使用了中间文件和非中间文件,因此遇到了多次加载基本相同文件的问题。
我通过从 DropBox 文件夹中删除文件并重新编译来解决我的问题,然后工作得很好。
关于c++ - 为什么 g++ 在完全相同的文件上失败,但在不同的计算机上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10406491/