我有一个包含多个项目的视觉工作室解决方案。其中之一,“MyProject”是一个静态库 (.lib)。该项目,在许多其他类中有两个类“A”和“B”。
啊:
#pragma once
class A
{
public:
void foo();
};
A.cpp:
#include A.h
void A::foo(){
//do something
}
乙:
#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: 函数“public: void __thiscall B::bar( void)" (?bar@B@@QAEXXZ)
一切似乎都很好。我确实看到了A.cpp的编译过程。仅构建或链接项目“MyProject”就可以了。但是在尝试构建整个解决方案时,我遇到了错误。
谢谢!