0

每隔一段时间,用

/usr/lib/../lib64/crt1.o: In function `_start':
(.text+0x20): undefined reference to `main'
collect2: error: ld returned 1 exit status

但是有一个主要的。这发生在构建版本 50+ 的程序上,并且主程序已经使用了几个月或几年。

最好的部分是,如果我再次运行 make,中间什么都不做,它编译得很好。

这是一个复杂的构建,数量级为 50,000 行代码,实际上无法简化为简单的测试用例。不值得花时间尝试诊断,因为只需重新运行 make 就可以了。但是,希望其他人以前遇到过这种随机的挫败感。

也许我在我的 CMakeLists.txt 文件中的某个地方犯了一个错误,这允许这种情况定期发生,但随后会消失大约 20 次构建。也许在 CMake 版本 2.6-patch 4、gcc 4.7.0 或 ld 2.17.50.0.6-20.el5_8.3 中存在一个罕见的错误,但我在实际上的程序员的大海捞针中没有找到任何其他提及遗漏了主要。在某个时候,我会更新 cmake 和 gcc ......

4

0 回答 0