zoukankan      html  css  js  c++  java
  • vs 外部依赖项、附加依赖项以及如何添加依赖项目

    我们在 VS 中创建 Win32 控制台应用程序,vs 会为解决方案创建默认地创建 4 个 filters(资源管理器中没有对应的目录和文件夹):

    • 头文件:一般为 .h 文件
    • 外部依赖项
    • 源文件:一般为 .cpp文件
    • 资源文件

    1. 外部依赖项 & 资源文件

    • 外部依赖项:C++ 外部依赖项有很多,大部分都是静态库文件,编译的时候会递归关联起来生成可执行文件,所以可执行文件才会大很多

      编译的时候: 外部依赖项都是一个填充地址 , 比如 你的代码里调用 外部依赖函数地址 Extern_funA 。

      • 预编译的时候展开头文件
      • 编译生成obj文件的时候,Extern_funA 就是一个填充地址 比如 0x00 00 00 00
      • 链接的时候基地址重定位生成对应的 Extern_funA 地址。
      • 链接的时候会根据你的工程配置想一个去查找 DLL 导出符号表,发现没有找到 Extern_funA 。那么就会出错,说无法定位外部符号。

      右键【源文件】,选择【添加 ⇒ 新建项】,比如此时我们创建,test.cpp 文件,只需 include 一个文件:

      
      #include <iostream>
      

      此时重新点开 【外部依赖项】filter,便会看到引入了相当多的库文件。

    • 资源文件:主要是你用到的一些程序代码以外的东西,比如图片之类,或者菜单、工具栏之类的。

    2. 库目录 & 附加依赖项

    库目录只是查找目录,类似环境变量 PATH;具体用哪一个需要指明的,如果不在附加依赖项里填上,就需要在代码里用

    #pragma comment(lib, “xxx.lib”)

    来手动指定了。你写代码读写一个文件需要写明文件名吧,这个文件名就相当于那个lib , 但读写这个文件可以不写全路径,就是因为有工作目录(working directory)的存在。

    3. 添加依赖项目

    VS2013 添加依赖项目

    • 1、新建解决方案,项目A

    • 2、为项目A添加一个依赖项目B,项目B做为静态lib被项目引用,

      项目B创建步骤如下:

      • 选择菜单”文件”->新建->项目,弹出“新建项目”对话框;

      • 左侧列表选择Visual C++,右侧列表选择win32控制台应用程序,

        对话框下面输入名称,选择位置,解决方案选择添加到解决方案,确定。

      • Win32应用程序向导,下一步,选择应用程序类型为静态库,

        添加公共头文件以用于选择MFC(根据实际情况选择,因为项目需求<nb30.h>编译需要选择MFC),完成。

    • 3、项目配置,项目A右键选择属性,选择通用属性,引用->添加新引用->选择项目B;

      引用项目B的头文件目录,步骤如下:配置属性->VC++目录->包含目录:添加项目B头文件路径..BHeader。

    其中编译的时候会出项目A引用项目B的接口无法解析,可能是3步骤没有做。

  • 相关阅读:
    [原创]Linux下压力测试工具Webbench介绍
    [原创] 测试策略是什么?
    [原创]测试报告模板
    [原创]性能测试基础知识
    [原创]性能测试工具介绍
    [原创]LoadRunner性能测试过程
    [内部资料]LoadRunner培训初级教程
    [原创]什么是性能测试?
    [原创]软件测试CheckList文档
    开源博客秋色园QBlog多用户博客系统安装视频教程
  • 原文地址:https://www.cnblogs.com/mtcnn/p/9423762.html
Copyright © 2011-2022 走看看