0
我有一個非常奇怪的預編譯頭問題。當我在.cpp文件中實現方法時,鏈接器生成LNK2019:無法解析的外部符號錯誤。但是,如果我在.h文件中實現方法,則可以編譯該程序。我碰巧找到了一個解決方案,但我不知道這個錯誤的根本原因。Visual C++鏈接預編譯頭LNK2019錯誤
我的項目結構看起來像這樣
解決方案
- >項目1
- >項目2
項目1有3個文件。 A.h,A.cpp和stdafx.h
file A.h
#pragma once
class A
{
public:
int num;
A();
};
file A.cpp
#include "stdafx.h"
A::A()
{
num = 2;
}
file stdafx.h
...
#include "A.h"
...
在項目2.我想使用A類。
文件whatever.cpp
#include "stdafx.h"
#include "../Project1/A.h"
...
A* a_obj = new A();
...
在編譯時,爲A建築功能鏈接報告解析的外部符號錯誤。如果我在A.h文件中實現構造函數。項目2可以順利完成。我想知道,爲什麼不能把實現放在A.cpp文件中?什麼是組織預先編譯頭的正確方法?
謝謝
謝謝你,第二個方法對我很好 – LNK2019 2009-06-08 02:48:41