关于如何使用简单的 C++ 库(不使用 .net)和使用该库的 C++ 项目创建 .sln 的基本说明?
Posted
技术标签:
【中文标题】关于如何使用简单的 C++ 库(不使用 .net)和使用该库的 C++ 项目创建 .sln 的基本说明?【英文标题】:basic instructions on how to create a .sln with simple C++ library (no .net use) and C++ project using that library? 【发布时间】:2011-01-19 23:23:58 【问题描述】:我是 C++ 初学者。我有一个简单的控制台项目。使用 boost (.libs) 和 openCV (dlls) 的类文件。我想将所有现有的类放入某个命名空间并放入单独的项目中。所以我需要一个关于如何在一个 sln 中将我的应用程序项目和代码库在 Visual Studio 环境中分离的教程?
【问题讨论】:
【参考方案1】:首先,您为新的可执行文件(exe 或 dll)创建一个新的 W32 项目(和解决方案)。 选择全部保存(否则如果出现问题,您将失去一切)。
之后,您转到解决方案资源管理器(在右边距)并右键单击解决方案名称(不是项目)。在弹出菜单中选择 Add->new Project。
现在您创建一个新的 w32 项目(用于新库)。在出现的对话框中,您选择下一步,然后在下一页中选择静态库(如果需要,还可以选择其他一些选项)。现在选择完成,新项目将添加到解决方案中。现在选择全部保存。
对您要创建的所有库重复这些步骤(不要忘记保存内容)。
您现在可以构建解决方案,以使事情存在。 接下来,您必须将库添加到您的可执行项目中。
转到该项目的属性并在左上角的组合框中选择所有配置。
现在选择 linker 选项并在其中选择 input 选项。现在选择属性页中的其他库选项,然后在其中选择编辑。在弹出的对话框中,您可以添加刚刚创建的所有库名称。 如果您现在要构建,链接器会抱怨它找不到这些库,因此需要多一步。
在linker-options 中选择General,在属性页中有一个属性Additional Library Paths。在这里,您必须通过选择 edit 来提供所有这些库的路径。 在弹出的对话框中,有一个宏按钮,它提供了大量宏,您可以使用这些宏来指定路径(如 $(SolutionDir) 和 $(Configuration))。
示例:$(SolutionDir)\lib1\$(Configuration)
您现在可以构建解决方案,应该不会出现找不到库的错误。
编辑,注意:如果库中没有编译源代码,则构建将成功,但不会生成库,因此您需要在其中添加一些代码。否则仍然找不到库。
现在还有一步要走。 您的库应提供头文件以使用库,但如果您将它们包含在源代码中,编译器将找不到它们。 您需要将其他包含目录添加到您的可执行项目属性中。 转到可执行项目属性中的 C/C++ 选项,您将在那里找到 附加包含目录,然后选择编辑并提供包含标题的目录 -您需要的文件。
示例:$(SolutionDir)\lib1
现在你准备好了。 顺便说一句,一次尝试一个库,这样您就可以多次完成这个过程,学习并获得经验。
希望这就足够了。
【讨论】:
以上是关于关于如何使用简单的 C++ 库(不使用 .net)和使用该库的 C++ 项目创建 .sln 的基本说明?的主要内容,如果未能解决你的问题,请参考以下文章
如何将托管 c++ 库导入 C# 应用程序(目标 .net 版本 3.5)
如何在带有 VB.net GUI 的 C++ OpenCV 项目中使用 C# 库?