麻烦在包括(联)一个静态的图书馆内部的另外一个
-
07-07-2019 - |
题
我会试图解释不久什么我想要做的:
一个项目使用的是静态的图书馆,它有一个depandency.它产生了一项名为MyProject联月MyLib1联月MyLib2.这里是编制顺序:
- MyLib2
- MyLib1(联MyLib2)
- MyProject(联MyLib1)
我使用Visual Studio2008年和我有一些麻烦,在确定包括。当联系,我用酒店"外包括目录"(在项目属C/C++节点)。这似乎是工作之间的MyProject和MyLib1但不MyLib1和MyLib2.例如:我已经一文件中称为MyLib2foo.cpp;使用#include"foo.cpp"使visual studio诉,foo.cpp 是未知的(缺少的文件或文件夹)。
要确保这不是一个错误的道路上我了,我已经做了许多尝试如下:复制贴的路径图所示,在命令行(用于编制图书馆)赢得到资源管理器:我好看看源代码的我的第二个图书馆。我已经改造的项目很多次,每一次我使用的不同名字(强迫我注意到这一)和一切似乎是很好的定义(但不是"包括").
只有这样,我实际上,找到使其工作:使用#包括 "c:\\foo.cpp" 作为包括...非常好的为了便于携带!
这里是拉链的解决方案,以测试它自己告诉我什么是错误的: MyProject.rar
谢谢你,花一些时间来帮帮我!Lucyberad
解决方案
第一,从来没有包括*.cpp文件。
第二,使用前宣布您的外部职能:
void appellib2(void);
void appellib1(void)
{
appellib2();
}
第三,对击中的每个项目的解决方案资源管理器,选择"项目的依赖关系..."和建立适当的相关性:MyProject->MyLib1->MyLib2.
最后,在性MyProject,设置了额外的依赖关系MyLib1.lib。
现在我可以建立和运行项目没有错误。
更新
永远不会重新命名*.cpp*。h只是为了解决联的问题。如果你有一个定义在你的*.h文件,你会无法包括这两次或更多。
这是你的项目 YourProject.rar.
其他提示
我已经改变了。cpp。h。我知道,我从来没有包括加拿大养恤金计划文件,但它是用于试验目的。
我已经增加了原型的每个功能,但是它不工作更好(不包括文件mylib2.cpp原型是更好,但不是用在这个试验)。
我已经设置了项目的依赖关系。它仍然会失败。
我已经设置了额外的依赖关系MyLib1.lib MyProject(我认为这是下一个错误,我将能够找到,产生联一个错误)。
与这些修改,我还有包括错误mylib2.h:没有这样的文件或录。
这里是新的档案: MyProject.rar
如果你达到获得它的工作,你可以让我一个归档工作方案?
谢谢, Lucyberad.