我正在将Visual Studio 6.0用于VC ++项目。 工作区中包含大约38个项目。我需要使用其中一个项目中的函数,比如X项目...在另一个项目中说Y.
一种方法是将项目X中存在的所有.cpp文件和.h文件添加到项目Y.这样可行。 但我正在寻找一个解决方案,我可以在项目Y中包含项目X的所有文件,而无需实际添加文件。必须有某种设置可以帮助我做到这一点。 我尝试将X中存在的所有相关DLL和.lib文件包含在Y中,当我执行时,我得到错误:未解析的外部符号“public:virtual__ blah blah ...
答案 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中的方法