C++ ld:版本3无效(最大值为0)-添加符号时出错:错误值
我使用的是g++9.2.1和binutils 2.34。我正在使用linux内核5.4.23-1运行Manjaro19.0.2。我刚刚安装了Manjaro,我认为它可以解决问题 在编译以下超级简单程序时:C++ ld:版本3无效(最大值为0)-添加符号时出错:错误值,c++,g++,linker-errors,ld,C++,G++,Linker Errors,Ld,我使用的是g++9.2.1和binutils 2.34。我正在使用linux内核5.4.23-1运行Manjaro19.0.2。我刚刚安装了Manjaro,我认为它可以解决问题 在编译以下超级简单程序时: #include <iostream> int main() { std::cout << "Hello" << std::endl; return 0; } 我完全不知道它是从哪里来的 g++main.cpp-o main.o不会生成
#include <iostream>
int main()
{
std::cout << "Hello" << std::endl;
return 0;
}
我完全不知道它是从哪里来的 g++main.cpp-o main.o不会生成可重新定位的对象文件。输出是一个可执行文件。此类文件不能用于进一步链接
要生成对象文件,请改用g++-cmain.cpp-omain.o。-c标志指示GCC不链接最终的可执行文件。g++main.cpp-o main.o不会生成可重新定位的对象文件。输出是一个可执行文件。此类文件不能用于进一步链接
要生成对象文件,请改用g++-cmain.cpp-omain.o。-c标志指示GCC不链接最终可执行文件。-o用于保存已编译文件的名称,例如g++-o xyz xyz.cpp 这里xyz是已编译文件的名称。 o更改了编译文件呈现错误的幻数,而不是仅保留main g++-o main.cpp
这应该不会产生任何问题-o用于保存已编译文件的名称,例如g++-o xyz xyz.cpp 这里xyz是已编译文件的名称。 o更改了编译文件呈现错误的幻数,而不是仅保留main g++-o main.cpp
这应该没有问题非常感谢。这是一个如此愚蠢和简单的解决办法,我真的觉得自己像个傻瓜,哈哈,非常感谢你。这是一个如此愚蠢和简单的修复,我真的觉得自己像个傻瓜,哈哈
/usr/bin/ld: main.o: _ZSt4cout: invalid version 3 (max 0)
/usr/bin/ld : main.o : error adding symbols: bad value
collect2: error: ld return 1 exit status