我将尝试尽快解释我想要做什么:
一个使用静态库的项目,该项目具有另一个作为依赖项。它生成一个名为 MyProject 的项目,链接在 MyLib1 上,链接在 MyLib2 上。下面是编译顺序:
- 我的Lib2
- MyLib1(链接到 MyLib2)
- MyProject(链接到 MyLib1)
我正在使用 Visual Studio 2008,但在定义包含时遇到了一些麻烦。链接时,我使用属性“附加包含目录”(在项目属性 C/C++ 节点上)。这似乎在 MyProject 和 MyLib1 之间有效,但在 MyLib1 和 MyLib2 之间无效。例如:我在 MyLib2 中有一个名为 foo.cpp 的文件;使用 #include "foo.cpp" 使视觉工作室告诉 foo.cpp 是未知的(缺少文件或文件夹)。
为了确保它不是我给出的错误路径,我做了很多尝试,如下所示:将命令行中显示的路径(用于编译库)复制粘贴到 win explorer:我很好地看到了我的第二个库的源代码。我已经多次重制该项目,每次我使用不同的名称(迫使我注意这一点),一切似乎都定义明确(但不是“包括”)。
我真正找到使它起作用的唯一方法:使用 #include "c:\\foo.cpp"作为包含...非常适合可移植性!
这是解决方案的 Zip,您可以自己测试并告诉我出了什么问题:MyProject.rar
感谢您花时间帮助我!露西伯拉德