【发布时间】:2021-04-19 10:56:42
【问题描述】:
我正在学习如何制作静态库。我从 windows 和 Visual Studio 开始。
目录结构如下:
- MyLibraryProject
- include
- MyLibraryProject
- MyLibraryHeader.h
- src
- MyLibrarySource.cpp
- build
- MyLibraryProject.vcxproj
- MyDependentProject
- main.cpp
- MyDependentProject.vcxproj
MyLibraryProject.vcxproj 有以下设置:
| Setting | Value |
|---|---|
| Configuration type | Static library (.lib) |
| Additional Include Directories | $(MSBuildThisFileDirectory)../include/MyLibraryProject |
MyDependentProject.vcxproj 没有特殊设置,除了我在引用中添加了MyLibraryProject,图像具有我使用的实际名称:
如果我在 main.cpp 中使用相对路径,我可以构建项目 - 静态链接可以正常运行:
#include "../MyLibraryProject/include/MyLibraryProject/MyLibraryHeader.h"
但是,我想包含这样的标题:
// fatal error C1083: Cannot open include file: 'MyLibraryProject/MyLibraryHeader.h': No such file or directory
#include <MyLibraryProject/MyLibraryHeader.h>
那是行不通的。我也尝试使用属性表,但也无法使用。我一直在搜索互联网,但通常发现声称如果添加引用,标头和静态库都可以工作。
这里是full repository,如果你愿意看一看。或者在 cmets 中询问是否缺少信息。
【问题讨论】:
-
@AndyG 已更新。尽管我找到的所有信息都表明它应该看到标题,但它看不到标题。此外,我的工作中使用了相同的方法,并且效果很好。我试图比较工作中的项目,但一无所获。
标签: c++ windows visual-studio header-files