【发布时间】:2013-07-29 12:27:04
【问题描述】:
在 Eclipse 中,我使用 MinGW 编译器在 windows 平台上完成了以下操作 - C_proj.exe--->链接---->libB_proj.a----->链接---->libA_proj.a
将 A 与 B 链接时,我只指定 libA_proj.a 的路径(不是 lib 名称,因为这似乎不可能!)
在 C 中使用 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;
}
现在我的要求是—— 我不想将 B 和 A 都与 C exe 链接。有没有办法只将 B 与 C 链接并完成工作,以便我只能将 B 和 C exe 提供给第三方?
【问题讨论】:
-
肯定有办法,但我不知道如何使用您的工具。 This is how you would do it in Visual Studio
-
@typ1232:我认为假设
.lib是.dll 的thunk 库 -
@typ1232 - 谢谢!太棒了……就像黄油一样! :) 实际上我只在 VStudio 工作....在轻量级日食中尝试! :D
标签: c++ c++builder