无法解析的外部符号与正常头/源设置
Unresolved External Symbol With Normal Header/Source Setup
我正在做一个基本的c++设置。有一个主文件,它调用一个函数,从另一个文件qSort.h/qSort.cpp中快速排序。然而,当我试图这样做时,我得到未解析的外部符号,这意味着函数原型是可见的,但不是函数定义本身。但是,当我将quickSort函数移动到头文件中时,它运行得很好,因此识别函数定义一定是一个问题。
qSort头看起来像:
#ifndef __qSort_h__
#define __qSort_h__
int quickSort(int * inputArray);
#endif
qSort源代码看起来像(现在我修复它时为空):
#include "qSort.h"
int quickSort(int * inputArray){
return 4;
}
在我的主文件中被简单地称为:
std::cout << quickSort(arrayInput);
并包含在主源文件中:
#include "qSort.h"
#include "SortingPractice.h"
#define ARRAY_LENGTH 20
我被告知,在你的头放置任何实际的代码是可怕的,所以我正在寻找一些建议如何避免这样做,而让这段代码运行。谢谢你。
编译器/链接器需要知道程序的所有部分。一种简单的方法是将两个源文件gcc main.cpp qsort.cpp
编译在一起,这样它就会将生成的两个目标文件传递给链接器。
如果单独编译,则需要将两个目标文件都传递给链接器
相关文章:
- 如何在boost beast http请求中设置http头
- C++ 中的 CSV 文件管理(特别是设置标头和每个标头将分别具有的值)
- 如何设置 cmake 以在不同位置查找标头和库
- 如何在 curl 代码C++设置授权持有者标头?我得到的授权不足,即使它在命令行上工作
- 纯标头库中静态成员变量的正确设置器和 getter
- gSOAP - 未设置 SOAP 操作标头
- HTTP 标头未在 C++ 中使用 Curl 设置
- CMAKE3:将通往MPI标头的路径设置
- 如何在没有 iomanip 的情况下设置没有头文件的精度
- 如何设置此视觉工作室 (2015) 自定义生成步骤(工具?基本上,我想要一个修改头文件(c ++)的预处理器步骤
- 如何基于用户设置的初始变量设置一组常数值
- 如何为头文件中声明的指针设置值
- 当包含具有虚拟方法的标头时,不确定如何在.cpp文件中设置方法
- QTreeView / QFileSystemModel 设置标头标签
- 如何有条件地为模板标头设置编译器优化
- 如何在Visual Studio 2013中设置默认头文件扩展名
- C++CURL无法设置标头
- Clang 工具(libtooling):将标头搜索路径设置为标准 libs 标头.基础框架
- 如何在运行时在通过 Cython 导入的 c++ 头文件中设置常量
- 将标头中声明的QTextStream设置为stdout