如何在另一个项目中使用项目中存在的函数而不实际手动添加头文件和源文件?

时间:2011-05-06 10:27:44

标签: visual-c++

我正在将Visual Studio 6.0用于VC ++项目。 工作区中包含大约38个项目。我需要使用其中一个项目中的函数,比如X项目...在另一个项目中说Y.

一种方法是将项目X中存在的所有.cpp文件和.h文件添加到项目Y.这样可行。 但我正在寻找一个解决方案,我可以在项目Y中包含项目X的所有文件,而无需实际添加文件。必须有某种设置可以帮助我做到这一点。 我尝试将X中存在的所有相关DLL和.lib文件包含在Y中,当我执行时,我得到错误:未解析的外部符号“public:virtual__ blah blah ...

2 个答案:

答案 0 :(得分:0)

如果要在项目Y中使用项目X的功能,则项目X必须是一种库(静态库或DLL)。要这样做,你必须

  • 更改项目Y的包含搜索路径,使其包含项目X的头文件所在的目录。

  • 将库X.lib添加到项目Y的链接器“其他库”中。如果X是 DLL 项目,则添加X.lib导入库,如果X是 LIB 项目,项目输出立即将X.lib添加到项目Y中。

可以在工作区中定义“项目依赖项”来完成后一步骤。但我建议使用链接器设置来执行此操作。

将.cpp文件添加到项目Y是个坏主意。项目X旨在编译其文件。

编辑:如果X是一个DLL项目,那么它必须是export the symbols你想要使用的。

答案 1 :(得分:0)

将包含要使用的头文件(x.h)的路径添加到

Project->Settings->C/C++->Category(Preprocessor)->Additional Include directories

然后将包含要使用的项目的.lib文件的路径(x.lib)添加到

Project->Settings->Linker->Category(Input)->Additional Library path

最后,在

中输入要使用的库的名称(x.lib)
Project->Settings->Linker->Category(General)->Object/library modules 

然后就这样做

#include <x.h> 
在项目Y的新文件顶部

使用x.h中的方法