警告LNK4042错误

warning LNK4042 error

本文关键字:错误 LNK4042 警告      更新时间:2023-10-16

我设置了一个简单的程序,它再现了错误:

// main.cpp
#include "header.h"
int main()
{
    return 0;
}

现在函数的头文件:

// header.h
#ifndef __HEADER_INCLUDED
#define __HEADER_INCLUDED
float const funct();
#endif

和函数的cpp文件:

// header.cpp
#include "header.h"
float const funct()
{
    return 1.0f;
}

编译这个,我得到这个错误:

释放头。LNK4042:指定的对象不止一次;额外的忽略了

我是否错过了一些明显的东西,或者这只是另一个VS bug/特性?

添加

# pragma一次

放在每个文件的顶部。这告诉链接器忽略额外的包含并去掉警告。