C 在visual studio中为win32项目引用其他项目

C 在visual studio中为win32项目引用其他项目,c,visual-studio,winapi,C,Visual Studio,Winapi,我正在使用win32 API,我选择的语言是纯C和非C++ 假设我有一个项目a,它存在于visual studio中的解决方案S中 我想在S中添加另一个项目B(它有一些常用的实用功能) 现在我想在项目A中引用项目B。。。这样我就可以从ProjectB源代码级别使用这些实用程序函数。我不希望它被用于项目B的dll 假设项目B包含一些与数学相关的函数,我想调用项目A中的函数,或者项目B包含数据结构,我想在项目A中使用它们 如何做到这一点。。。。提前感谢如果您不希望项目B是DLL,那么它必须是静态库。

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

假设我有一个项目a,它存在于visual studio中的解决方案S

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

现在我想在项目A中引用项目B。。。这样我就可以从ProjectB源代码级别使用这些实用程序函数。我不希望它被用于项目B的dll


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


如何做到这一点。。。。提前感谢

如果您不希望项目B是DLL,那么它必须是静态库。如果项目B已经是EXE,则需要添加第三个项目:项目C-一个静态库项目,其中包含a和B之间共享的源文件。项目a和B可以引用该项目,也可以将其作为项目依赖项列出


嗯。如果在Devstudio中使用项目创建解决方案,则磁盘上的默认布局将类似于-已将项目3创建为静态库项目:

c:\Projects\SolutionDir
                       \Project1
                       \Project2
                       \Project3
将通用结构和函数的源(.cpp)和头文件(.h)移动到项目3

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

$(SolutionDir)
现在,在Project1和Project2中,您可以引用Project3中的头文件:

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

右键单击项目1(然后单击项目2)并选择“项目相关性…”并勾选项目3。

假设项目B包含一些与数学相关的函数,我想从项目A或项目B中调用这些函数,我想在项目A中使用它们。项目C应该包含数学函数和数据结构。很好的解释克里斯!刚刚遇到同样的问题,这为我解决了!!非常感谢。只有一件事,我必须添加一个本地参考的项目,以使我的工作。也许我做错了,但是勾选项目依赖项对我来说是不够的。以防万一其他人碰到这个问题,添加对它的引用为我修复了它:)