C++ sln 保存

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++ sln 保存相关的知识,希望对你有一定的参考价值。

我在学校用visual studio 2005写了个win32控制台程序,里面有2个源文件,1个头文件,没完成,打算带回家接着写。于是我点“解决方案另存”于是得到了个sln,回家打开,源文件,头文件什么的都在,就是不能编译运行。
哪位哥告诉我,怎么搞定?最后能详细点,因为我比较笨。
我的问题说错了,不是sln另存,我是打开文件目录,复制整个文件夹,然后双击打开sln,但是不能编译。

xyz200406
你这个方法不好啊!还是关注我这个问题,多学习学习。
如果你写的是一个大程序,有一堆资源,文件,头文件,是很头疼的,而且很蛋疼。

≌风之银狼≌
漏了sorry,我的确是拷贝整个文件夹,打开sln可以看到一堆文件,就是不能编译运行。

你只拷贝一个sln是不行的。sln文件只是描述你的项目在本地机器上的哪里。
比如你建立一个新项目,项目目录C:\Projects,项目名Test,那么你就要把整个C:\Projects\Test文件夹都带走。如果你觉得太大的话可以删除Test下的.ncb文件、Debug和Release文件夹,Test\Test下的Debug和Release文件夹。这基本就是到其他机器上能运行的最小配置了

==================================================
什么是“不能编译运行”?请确保你的VS2005或以上版本安装正确,并且已经安装了你所需要编译的语言的组件(VS启动时有显示,也可以在“帮助-〉关于..”查看)。有一些VS2005比如安装MS-SQL2005是附带的VS是不带VC、C#、VB的编译环境的,需要另行安装。
参考技术A 不用什么另存,那文件自动生成在 工程文件夹里,你把整个工程文件夹,复制回家,在那个工程文件夹里直接双击sln文件就可以打开。

我刚刚就试过,复制到 其他区 照样打开,编译没问题。

工程文件夹里面基本:
Debug 文件夹
library 文件夹
工程名数据库文件
工程名sln文件

剩下的就是你建立的项目文件夹
-------------------------------
参考技术B 解决方案不能另存为的,你保存的应该是某个小项目的文件,缺少其他的

需要拷贝整个程序的文件夹.
参考技术C 重新建一个工程,然后把你的头文件和源代码复制进去 参考技术D DSW

关于如何使用简单的 C++ 库(不使用 .net)和使用该库的 C++ 项目创建 .sln 的基本说明?

【中文标题】关于如何使用简单的 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++ sln 保存的主要内容,如果未能解决你的问题,请参考以下文章

如何设置VS2005的sln文件目录

关于如何使用简单的 C++ 库(不使用 .net)和使用该库的 C++ 项目创建 .sln 的基本说明?

保存/加载 C++ 数据时出错

C++ 控制台保存和加载保存的“游戏”

如何使用 c++ 在 tensorflow 中保存模型

OpenCV & Virsual C++:从相机中保存帧数据,然后保存到 Jpg