Eclipse에서 MinGW 컴파일러가있는 Windows 플랫폼에서 다음을 수행했습니다 - C_proj.exe ---> 링크 ----> libB_proj.a -----> 링크 ----> libA_proj.a정적 라이브러리와 다른 정적 라이브러리를 링크하고 exe에서 마스터 라이브러리를 사용합니다
BI는 libA_proj.a에 대한 경로 만 지정하고있는 연결하는 경우 (즉 수 없기 때문에하지 lib 디렉토리의 이름이 보인다!)를
CI 내부에서 B를 사용할 때 libA_proj.a와 libB_proj.a를 모두 지정해야했습니다.
코드 -
이제//a.h
class a
{
public:
void printA();
};
//a.cpp
void a::printA()
{
std::cout<<"This is 'a'"<<std::endl;
}
//b.h
class b
{
public:
void printB();
void printA();
};
//b.cpp
void b::printB()
{
std::cout<<"This is 'B'"<<std::endl;
}
void b::printA()
{
std::cout<<"This is 'B'....calling A"<<std::endl;
a objA;
objA.printA();
}
//c.cpp
int main()
{
b objB;
objB.printB();
objB.printA();
return 0;
}
내 요구 사항은이 - 전 C EXE와 B와 모두 연결하고 싶지 않아요. B와 C 만 연결하고 작업을 완료하여 제 3 자에게 B와 C exe만을 제공 할 수 있습니까?
확실한 방법이 있지만 툴을 사용하는 방법을 모르겠습니다. [Visual Studio에서이 작업을 수행하는 방법입니다.] – typ1232
@ typ1232 :'.lib'는 .dll 용 썽크 라이브러리라고 가정합니다. –
http://stackoverflow.com/questions/12198261/include-static-library-in-static-library – Derek