2013-07-14 54 views
1

檢查意見進行更新錯誤LNK2019,我該如何解決這個問題? *更新*以下

這是錯誤報告: Cube_Life.obj:錯誤LNK2019:無法解析的外部符號 「無效__cdecl Draw_Coordinates(無效)」

請不要」告訴我去搜索,我做到了,但找不到解決方案。我有一個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。

+1

可能的重複[什麼是未定義的引用/未解析的外部符號錯誤,以及如何解決它?](http://stackoverflow.com/questions/12573816/what-is-an-undefined-reference-unresolved- external-symbol-error-and-how-do-i-fix) – jrok

+0

我不確定你爲什麼把這些頭文件放在stdafx.h文件中。至少應該在Help_Functions.cpp中包含「Help_functions.h」 – billz

+0

好吧,它使得它不那麼混亂。我將.h文件添加到了實現文件,但仍然沒有解決它。 – Valentin

回答

0

首先,如果您還沒有這樣做,請嘗試在您的頭文件中放置包含警衛。

#ifndef HEADERNAME_H 
#define HEADERNAME_H 

// Code here 

#endif 

其次轉到您的視覺工作室的屬性表。屬性 - >鏈接器 - >輸入。

確保您已正確包含所有庫。

接下來,在您驗證了所有庫文件都正確存在之後,請在屬性頁中查看「VC++目錄」。

看起來錯誤也可能出現在您的Help_Functions.h文件中。有沒有最近你做過的事情可能會導致這個錯誤?如果您可以發佈您的Help_Functions.cpp/h。

+0

庫不是問題。一切都在正確的地方,沒有與他們有關的錯誤。我只將鏈接錯誤與Help_Functions.h/cpp中聲明/定義的函數鏈接起來。 在主文件中添加「#include Help_Functions.h」後,test()在幾小時前工作(不是「工作」,更像是不會導致錯誤),但現在不起作用。 – Valentin

0

正在編譯Help_Functions.cpp嗎?如果您沒有將該文件添加到項目中,那麼其中的功能將「未解決」。要將文件添加到項目中,請使用「項目」菜單中的「添加現有項目」命令。

+0

嗯,它包含在構建中,我將它添加到「Source」下。 – Valentin