我正在使用win32 API,我选择的语言是纯 C ,没有 C ++ 。
假设我在visual studio中的解决方案 S 中有一个项目 A
我想在 S
中添加另一个项目 B (具有一些常用的实用功能)现在我想在Project A 中引用Project B ...这样我就可以使用Project B 源代码中的那些实用程序函数水平。我不希望它用于项目 B
的dll假设项目B包含一些与数学相关的函数,我想从项目A中调用函数,或者项目B包含来自数据结构,我想在项目A中使用它们
如何实现这一点......提前感谢
答案 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。