zoukankan      html  css  js  c++  java
  • Visual Studio 2013新建工程导入现有代码文件夹并且保持目录结构

    本文提供了一个在Windows环境下使用Visual Studio 2013编辑现有源代码并且保持目录结构的方法。
    本文使用VS2013中文社区版做示例(本版本为免费版,可在VS官网下载),其他版本的VS操作方式类似。
    打开VS2013,选择【菜单】-【新建】-【从现有代码创建项目】

    选择项目类型:Visual C++

    项目文件位置:创建完成后会在这个目录生成sln,suo,vcxproj,filters和user等VS解决方案和项目文件,这个必须和源代码的根目录保持一致,否则不能导入文件夹结构。
    项目名称填所需项目
    最后去除勾选【在解决方案资源管理器中显示所有文件】,避免文件太多

    因为代码是Linux代码,并不需要在Windows下编译,所以选择使用外部生成系统即可

    无需编译的话,直接选择下一步

    完成项目生成向导

    项目生成中,如果文件较多,会需要一些时间

    如果源文件来源于网络映射盘(比如笔者这里使用的是Linux的Samba共享磁盘),会弹出安全警告,去除勾选选择确定即可。

    项目创建好后,在解决方案资源管理器中会出现所有筛选过后项目目录的源文件,是未分文件夹的。如果看不到解决方案资源管理器,可以在【菜单】-【视图】中打开。

    上面不分文件夹的源文件并不是我们想要的,如果需要分文件夹,在解决方案资源管理器中点击【显示所有文件】图标,如下图所示。点击之后,会出现文件夹。并且会在文件图标上标示出该文件是否属于项目文件。

    如果源代码路径文件有更新,比如增加或者删除文件,在解决方案资源管理器中点击刷新按钮,即可看到最新的文件状态。如果要将新文件添加进项目进行管理,则在新文件上点击右键,选择【包括在项目中】即可,添加后文件图标也会做出相应改变。

    由于源代码是Linux下,Linux的头文件与VS默认的头文件不一致,会导致很多头文件找不到或者是不匹配,影响代码提示和阅读。解决方法是添加Linux的头文件到Include路径。下面是具体操作方法:
    在解决方案资源管理器中右键项目,选择【属性】。

    在弹出的属性页中,找到VC++目录,其中的包含目录填上Linux下的头文件目录。

    关于Linux的头文件如何获得,可以在Linux下使用Samba服务端,在Windows上连接,将下面3个路径复制到Windows系统相应目录即可,最好linux下复制一个,就在windows下复制一份,否则一些文件可能会被后续的复制操作覆盖。
    cp -r /usr/include ~/1
    cp -r /usr/lib/gcc/ ~/2 #这个目录可能稍有变化,也许是/usr/lib64/gcc
    cp -r /usr/local/include ~/3

    复制完成后,将下面的路径粘贴至VS中即可,其中【D:CodeLinuxUbuntu】为Windows下对应Linux的根目录
    D:CodeLinuxUbuntuusrincludec++4.8;
    D:CodeLinuxUbuntuusrincludex86_64-linux-gnuc++4.8;
    D:CodeLinuxUbuntuusrincludec++4.8ackward;
    D:CodeLinuxUbuntuusrlibgccx86_64-linux-gnu4.8include;
    D:CodeLinuxUbuntuusrlocalinclude;
    D:CodeLinuxUbuntuusrlibgccx86_64-linux-gnu4.8include-fixed;
    D:CodeLinuxUbuntuusrinclude;
    D:CodeLinuxUbuntuusrincludex86_64-linux-gnu;

    创建完成后项目文件目录会生成以下项目文件,以后需要打开项目直接双击sln解决方案文件即可

    参考资料:
    https://msdn.microsoft.com/zh-cn/library/b9cy3d6x.aspx

  • 相关阅读:
    使用comet架构实现了一个基于网页的视频监控prototype!!!!哇哈哈庆祝一下
    Pixysoft.Framework.Noebe.Datamining 数据挖掘开发实录
    论创业成功!让大家的青春充满着无限美好的回忆
    新年第一篇 数据库备份恢复系统上线的挫折
    .Net FrameWork 4.0中使用EF向数据库插入数据报datatime2类型错误的解决办法
    RoRoWoBlog 开源博客系统介绍
    第一次偶然出现的“System.Data.Entity.dll”类型的异常
    序列化类型 System.Data.Entity.DynamicProxies 的对象时检测到循环引用
    我也来说说Entity Frame Work 4中的数据库优先和代码优先两种方式(2)
    Asp.net MVC 2 + Castle + NHibernate 项目实战(1)
  • 原文地址:https://www.cnblogs.com/mfryf/p/5946314.html
Copyright © 2011-2022 走看看