参考visual studio中针对win32项目的其他项目

时间:2010-05-17 08:11:44

标签: c visual-studio winapi

我正在使用win32 API,我选择的语言是纯 C ,没有 C ++

假设我在visual studio中的解决方案 S 中有一个项目 A

我想在 S

中添加另一个项目 B (具有一些常用的实用功能)

现在我想在Project A 中引用Project B ...这样我就可以使用Project B 源代码中的那些实用程序函数水平。我不希望它用于项目 B

的dll

假设项目B包含一些与数学相关的函数,我想从项目A中调用函数,或者项目B包含来自数据结构,我想在项目A中使用它们

如何实现这一点......提前感谢

1 个答案:

答案 0 :(得分:6)

如果你不想让项目B成为DLL,那么它必须是一个静态库。它项目B已经是一个EXE,那么你需要添加一个第三个项目:Project C - 一个静态库项目,它包含A和B之间共享的源文件。项目A和B可以引用它,或者将它列为项目依赖性。


确定。如果您在Devstudio中使用项目创建解决方案,那么磁盘上的默认布局就像 - 将Project 3创建为静态库项目:

c:\Projects\SolutionDir
                       \Project1
                       \Project2
                       \Project3

将公共结构和函数的源(.cpp)AND头文件(.h)移动到Project 3。

在项目A和B中,找到项目设置>编译器>其他包括并添加一个说

的条目
$(SolutionDir)

现在,在projects1和2中,您可以从Project3引用头文件:

#include "Project3/commonheader.h"
// or
#include "Project1/sharedFunctionDecls.h"
#include "Project2/sharedStructDefs.h"

右键单击Project1(然后选择Project 2)并选择“Project Dependencies ...”并勾选Project 3。