Windows系统下使用g++单独编译后如何链接C++标准库?
解决步骤
1 修正编译阶段的文件名错误
你当前的编译命令存在文件名不匹配问题:你的源文件名为src1.cpp,但编译命令中写的是src.cpp,会导致无法生成正确的目标文件,首先修正编译命令:
g++ -c main.cpp src1.cpp
执行后会生成main.o和src1.o两个目标文件。
2 链接时显式指定C++标准库参数
你遇到的未定义引用是因为链接阶段没有找到C标准库的实现,MinGW环境下直接在链接命令末尾添加-lstdc++参数即可显式链接C标准库:
g++ main.o src1.o -o exec.exe -lstdc++
如果仍有基础运行时符号未定义,可以追加-lgcc参数链接GCC基础运行库:
g++ main.o src1.o -o exec.exe -lstdc++ -lgcc
执行完成后就会生成可运行的exec.exe文件。
内容的提问来源于stack exchange,提问作者mada
相关产品推荐
相关产品推荐

