我有多个项目Visual Studio解决方案。 他们中的一个,“MyProject的”是一个静态库(.LIB)。 这个项目,许多其他类中有两个等级“A”和“B”。
啊:
#pragma once
class A
{
public:
void foo();
};
A.cpp:
#include A.h
void A::foo(){
//do something
}
BH:
#pragma once
class B
{
public:
void bar();
};
B.cpp:
#include B.h
#include A.h
void B::bar(){
A a;
a.foo();
}
如果没有编译错误,我得到的链接错误:
OtherProject.lib(B.OBJ):错误LNK2019:无法解析的外部符号 “市民:无效__thiscall A :: foo的(无效)” 函数引用“公众(FOO @一@@ QAE_NXZ?):无效__thiscall B ::巴(无效)”(?巴@乙@@ QAEXXZ)
一切似乎是罚款。 我看到A.cpp的编译过程。 大厦或链接只有项目“MyProject的”很好。 但是,当试图生成整个解决方案,我发现了错误。
谢谢!