iPad端clang编译多C++文件遇段错误及警告问题求助
C++编译段错误问题求助(iPad clang 13.0.0环境)
环境与问题
- 正在学习C++(第一门编程语言),使用iPad上的clang 13.0.0编译器
- 执行编译命令
clang++ -Wall -std=c++14 -g main.cpp func.cpp时,出现segmentation fault(段错误) - 若在
main.cpp中直接用#include"func.cpp"包含源文件,编译运行完全正常 - 采用分步编译命令可正常运行,想了解该方法有效的原因,以及如何消除编译时出现的
[linker input unused]警告
相关文件内容
func.cpp
int add_numbers(int num1, int num2) { int sum{}; sum=num1+num2; return sum; }
func.h
#ifndef _func_H_ #define _func_H_ int add_numbers(int num1, int num2); #endif
main.cpp
#include <iostream> #include "func.h" using namespace std; int main () { int num1{10}, num2{12}; int summation=add_numbers(num1,num2); cout << summation << endl; return 0; }
直接编译的错误输出
clang++ -Wall -std=c++14 -g main.cpp func.cpp segmentation fault segmentation fault
可正常运行的分步编译命令
clang++ main.cpp -c clang++ func.cpp -c clang++ main.o func.o a.out
疑问
- 为什么分步编译可以正常运行?
- 如何消除分步编译过程中出现的
[linker input unused]警告?
内容的提问来源于stack exchange,提问作者Shubham Tiwari
相关产品推荐
相关产品推荐

