美文网首页软件
[VC++]同一Solution下,多个project之间依赖方

[VC++]同一Solution下,多个project之间依赖方

作者: menglj | 来源:发表于2017-12-22 23:05 被阅读4次

    title: "同一Solution下,多个project之间依赖方法"
    date: 2017-12-21
    tags: ["visual c++"]


    如果要开发一个静态库(例如test.lib),调试静态库的话可以写一个控制台应用(例如apptest.exe)。这时候需要建立两个Project。为了方便调试,可以把这两个Project放到同一个Solution下。这样静态库有任何变化,在应用里就可以马上感知到,快速的进行修改对应。

    这样的需求该如何配置Project的属性呢。

    1. 首先应用程序的代码要能够找到静态库的头文件。

    我们看一下Solution的目录结构:

    solution/
    solution/apptest/
    solution/apptest/apptest.cpp
    solution/test/
    solution/test/test.h
    solution/test/test.cpp
    solution/debug/
    solution/solution1.sln
    
    1. 为了让apptest.cpp能够引用到test.h,可以把solution目录添加到apptest project的include path里,具体方法:打开apptest的项目属性设置页面,Configuration Properties -> VC++ Directories,设置Include Directories为$(SolutionDir);$(IncludePath)
    2. apptest.cpp使#include <test/test.h>来引入test.h

    2. 设置Project的依赖和库路径,保证链接成功

    1. 设置依赖库的路径:
      打开apptest的项目属性设置页面,Configuration Properties -> VC++ Directories,设置Library Directories为$(SolutionDir)debug;$(LibraryPath)。上面加入$(SolutionDir)debug的原因是,test project编译出的静态库会放到solution/debug目录下。
    2. 经过设置链接仍然出错,还需要设置project的依赖,方法是在apptest project的右键菜单上选择 Add -> Reference...,在弹出的对话框里选中test。

    经过上面的设置,就可以让apptest编译通过了。

    参考文档

    1. Visual C++ 设置适合自己的解决方案目录结构
    2. Adding references in Visual C++ projects

    相关文章

      网友评论

        本文标题:[VC++]同一Solution下,多个project之间依赖方

        本文链接:https://www.haomeiwen.com/subject/taqfgxtx.html