错误LNK2019,我该如何解决? *更新*

时间:2013-07-14 12:56:13

标签: c++ visual-studio-2010 visual-c++ linker header-files

检查以下评论以获取更新

这是错误报告: Cube_Life.obj:错误LNK2019:未解析的外部符号“void __cdecl Draw_Coordinates(void)”

请不要告诉我搜索,我这样做但找不到解决方案。我有一个Help_Functions.h和一个Help_Functions.cpp,其内容如下所示。

我在.h文件中声明了函数Draw_Coordinates并在.cpp中定义它,我仍然得到错误。即使右键单击该功能并选择显示定义,它也只显示搜索结果,但无法找到定义。

我甚至尝试过像void test(){return;}这样的简单函数,但仍然存在同样的问题。它们也不会被排除在构建之外。

Help_Functions.h

#pragma once
#include "stdafx.h"

void test();


void Draw_Coordinates();

Help_Functions.cpp:

#include "stdafx.h"



void test(){return;}

void Draw_Coordinates()
    {

//definition, it would be unnecessary to put all that code

}

stdafx.h中:

#pragma once

#define PI 3.14159265359
#include "targetver.h"


#include <fstream>
#include <sstream>
#include <string>
#include <stdio.h>
#include <tchar.h>
#include <math.h>
#include <windows.h>   // Standard Header For Most Programs
#include <gl/gl.h>     // The GL Header File
#include <GL/glu.h>
#include <gl/glut.h>   // The GL Utility Toolkit (Glut) Header
#include <stdlib.h>
#include <iostream>
#include "OBJECT_3D.h"
#include "Help_Functions.h"
using namespace std;

奇怪的是,OBJECT_3D没有造成任何问题。我能想到的唯一区别是它的文件由Visual Studio创建,而Help_Functions由我单独创建。

2 个答案:

答案 0 :(得分:0)

首先,如果你还没有这样做,请尝试在你的头文件中放入包含警戒。

#ifndef HEADERNAME_H
#define HEADERNAME_H

// Code here

#endif

其次转到visual studio中的属性表。属性 - &gt;链接器 - &gt;输入

确保正确包含所有库。

接下来,在您验证了所有库文件都正确存在后,请在属性页中选中“VC ++目录”。

似乎错误也可能出现在Help_Functions.h文件中。你最近做过什么可能会导致这个错误吗?如果你可以发布你的Help_Functions.cpp / h。

答案 1 :(得分:0)

是否正在编译Help_Functions.cpp?如果您尚未将该文件添加到项目中,则其中的函数将“未解析”。要将文件添加到项目,请使用“项目”菜单“添加现有项”命令。