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步骤没有做。

  • 相关阅读:
    Saltstack module acl 详解
    Saltstack python client
    Saltstack简单使用
    P5488 差分与前缀和 NTT Lucas定理 多项式
    CF613D Kingdom and its Cities 虚树 树形dp 贪心
    7.1 NOI模拟赛 凸包套凸包 floyd 计算几何
    luogu P5633 最小度限制生成树 wqs二分
    7.1 NOI模拟赛 dp floyd
    springboot和springcloud
    springboot集成mybatis
  • 原文地址:https://www.cnblogs.com/mtcnn/p/9423762.html
Copyright © 2011-2022 走看看