错误LNK1169:找到一个或多个乘法定义的符号-全局函数
error LNK1169: one or more multiply defined symbols found - global function
我有这个:
a.h
:
class a
{
}
void func(){} //some golobal function
b.h
:
include "a.h"
class b : public a
{
}
b.cpp
:
#include "b.h"
我得到错误:
error LNK1169: one or more multiply defined symbols found
我认为我得到了错误,因为全局函数定义了两次。我试着把extern
之前的功能,但不工作。我也使用#ifndef..
,我仍然得到错误。如何解决这个问题?
您要么只在header a.h中声明函数并在某些cpp模块中定义它,要么将其定义为内联函数。例如
inline void func(){}
否则,函数将被定义的次数与包含头文件a.h或b.h的cpp模块的次数一样多。
相关文章:
- vscode g++链路故障:体系结构x86_64的未定义符号
- 为函数定义符号不明确的指针参数
- 体系结构x86_64的未定义符号:std:terminate(),typeinfo,运算符delete[],运算符new
- C++ 中 dlsym 的未定义符号
- 仅在 MacOS 上析构函数的未定义符号
- OSX clang++:用于 cpp 文件中显式实例化模板的体系结构x86_64的未定义符号
- PCL 出错:体系结构x86_64 @pcl的未定义符号
- clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用) - 体系结构的未定义符号 x86_64:
- 体系结构x86_64的未定义符号:链接器错误
- C++ std::vector<int> 体系结构的未定义符号 x86_64:
- 生成文件:体系结构x86_64的未定义符号
- libc++abi未定义符号:_ZTVN10__cxxabif120__si-class_type_infoE
- Xcode"体系结构x86_64的未定义符号"
- 体系结构x86_64的未定义符号:找不到原因
- SWIG链接器:未定义符号:_ZN2cv8fastFreeEPv(cv::fastFree(void*))
- 如何修复架构x86_64的未定义符号,Boost Asio 1.58
- 在Qt5上去静态库:架构的未定义符号x86_64:
- 体系结构x86_64的未定义符号:c++/ h 文件和 cpp 文件
- 为什么链接器报告全局函数的乘法定义符号,而不是类静态方法
- 监视 SDK 下的未定义符号"__Unwind_SjLj_Unregister"