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


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
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,253评论 19 139
  • 动态调用动态库方法c/c++linuxwindows 关于动态调用动态库方法说明 一、 动态库概述 1、 动态库的...
    KINGZ1993阅读 14,054评论 0 10
  • VS2010使用STLPort STLport的下载地址 http://sourceforge.net/proje...
    Mr_whale阅读 986评论 0 1
  • 我把行李放下 把心放下 让她在田间游荡 童年的戏嬉 延续 而我婴儿般熟睡 好奇的脚步 轻轻 叩开老师的门首 一个天...
    砚砚小屋阅读 192评论 0 0
  • 文章来自:Scalers:坚持写作1000天,我的生活有什么改变? 注:正常字体摘自原文,阴影字体文字是自己的笔记...
    于帅Jacob阅读 362评论 0 1