网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
11月24日漏签0天
c++吧 关注:643,660贴子:2,116,867
  • 看贴

  • 图片

  • 吧主推荐

  • 游戏

  • 11回复贴,共1页
<<返回c++吧
>0< 加载中...

VS2010相对路径问题,求解!

  • 只看楼主
  • 收藏

  • 回复
  • 隐纳0I9
  • |
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
我的"ucos.h"文件放在了E:\YXHT\项目\FATFS\Fat File System\User\uCOS-II2.91\Source这里,但我的C++工程文件放在了E:\YXHT\项目\FATFS\Fat File System\VS2012\FATFS\FATFS这里,在编译时,提示无法打开ucos.h文件,如果我在
这里填加绝对路径是可以找开,但这是绝对路径,如果我换电脑或者变动了工程文件夹的位置,就报错,所以我想到的是用相对路径,如..\User\uCOS-II2.91\Source,试用了之后发现打不开ucos.h文件,是不是我的相对路径设置错误,还是?求神们解答!我的编程环境是VS2010。


  • 隐纳0I9
  • |
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼


2025-11-24 16:06:51
广告
不感兴趣
开通SVIP免广告
  • uni_gauldoth
  • ^
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
可以肯定是相对路径设错了.
好像相对是指相对于.vcproj文件所在路径.


  • 隐纳0I9
  • |
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
在VS2012的工程中常常要设置头文件的包含路径,当然你可以使用绝对路径,但是如果你这样设置了你只能在你自己的机器上运行该工程;如果其他人拷贝你的工程到其他机器上就可能无法运行,这个是因为你在建工程时可能把工程放在了E:盘,但是其他人可能会把工程放在其他根目录下,这样会导致找不到头文件问题。
对于新手,在设置相对路径时往往会犯浑,他们不清楚这里的“相对”究竟是以什么位置为起点。其实这里的相对路径就是相当于工程文件(project.vcproj)为起点零计算出的能找到包含所需头文件(也就是找包含所需头文件的source目录)的路径。
例如你的工程文件(project.vcproj)所在目录路径为:
E:\YXHT\项目\FATFS\Fat File System\VS2012\fatfs\
该工程中包含的源文件要包含一个头文件,该头文件所在路径如下:
E:\YXHT\项目\FATFS\Fat File System\User\uCOS-II2.91\Source
则我们可以从工程文件project .vcproj所在目录为起点向上回退到包含你所需要头文件的
Source文件夹所在的目录,你回退了几次就需要几个".."符号。
这里的相对路径设置如下:
..\..\Source
我们来回退一下:
在project.vcproj当前目录下,回退一次到了包含fatfs文件夹的VS2012目录下,再回退一次就到达了包含VS2012文件夹的Fat File System目录下,而在该目录下就包含我们需要包含的头文件所在的Source文件夹。所有要在工程文件当前目录下要向上回退两次才能看到source文件夹。


  • 小豆丁_11
  • ,
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
楼主已经基本上理解了工作目录的含义,但是你这个还是有点问题:
1.按照你所说,假设
工程文件(project.vcxproj)所在目录路径为:
E:\YXHT\项目\FATFS\Fat File System\VS2012\fatfs\
头文件所在路径为:
E:\YXHT\项目\FATFS\Fat File System\User\uCOS-II2.91\Source
则相对路径应该为:
..\..\User\uCos-II2.91\Source
因为Source文件并没有在E:\YXHT\项目\FATFS\Fat File System\目录下
2.正常情况下,你新建一个fatfs工程,比如说在E:\YXHT\项目\FATFS\Fat File System\VS2012目录下,则
E:\YXHT\项目\FATFS\Fat File System\VS2012目录下回新建一个fatfs文件夹,
在E:\YXHT\项目\FATFS\Fat File System\VS2012\fatfs目录下会有文件夹fatfs和ipch,文件fatfs.sln和fatfs.sdf等,
而在E:\YXHT\项目\FATFS\Fat File System\VS2012\fatfs\fatfs目录下才会有xxx.vcxproj、main.cpp、xxx.vcxproj.filters、xxx.vcxproj.user等文件
E:\YXHT\项目\FATFS\Fat File System\VS2012\fatfs\fatfs即为我们常说的工作目录,即相对路径的“零”
第二点也是我刚刚整理时才明白的,所以忍不住才来说上一句,还望勿喷


  • 跌倒还爬起
  • ,
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
针对楼上,您说的其实和楼主后来补充的没有本质区别,不能说VS2010中到底哪个文件路径是相对路径的“零”,关键是看xxx.vcxproj所在的位置,楼主的xxx.vcxproj在E:\YXHT\项目\FATFS\Fat File System\VS2012\fatfs\ ,而楼上的xxx.vcxproj在E:\YXHT\项目\FATFS\Fat File System\VS2012\fatfs\fatfs,所以这两个应该都是你们各自的相对路径的“零”。


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 11回复贴,共1页
<<返回c++吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示