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

Vin*_*ddy 3 c winapi visual-studio

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

假设我在Visual Studio的Solution S中有一个项目A.

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

现在我想引用项目A中的项目B ...这样我就可以使用项目B源代码级别的那些实用程序功能.我不希望它用于项目B的 dll

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

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

Chr*_*cke 6

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


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

c:\Projects\SolutionDir
                       \Project1
                       \Project2
                       \Project3
Run Code Online (Sandbox Code Playgroud)

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

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

$(SolutionDir)
Run Code Online (Sandbox Code Playgroud)

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

#include "Project3/commonheader.h"
// or
#include "Project1/sharedFunctionDecls.h"
#include "Project2/sharedStructDefs.h"
Run Code Online (Sandbox Code Playgroud)

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