c++ - 为什么 g++ 在完全相同的文件上失败,但在不同的计算机上

标签 c++ g++

我确定我做错了什么但是...我在一台计算机上开发了一个 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/

相关文章:

c++ - 如何将 "warnings as error"规则添加到 Qt .pro 文件?

c++ - G++ 编译器 : Segfault handling

c++ - NetBeans配置

c++ - 在运行时链接外部库

c++ - 使用 gdb 在 C++ 中跟踪函数调用

c++ - 当 const 指针用作函数的参数时

c++ - 声明和定义函数静态会产生 "undefined reference to function_name()"

c++ - 为什么 g++ 会生成两个具有不同名称修饰的构造函数?

c++ - QString字符删除函数

c++ - 如果只创建一次,使用数百个线程是否安全?