• 11416阅读
  • 6回复

[提问]qt在windows下总是无法正确读取相对路径表示的文件 [复制链接]

上一主题 下一主题
离线artisgrammer
 

只看楼主 倒序阅读 楼主  发表于: 2016-09-18
我的项目在Linux工作好好的,移植到windows后,直接运行编译好的exe运行很正常,但是用QtCreator来Debug的时候,总是无法读取相对路径表示的文件,求问怎么回事?
离线uidab

只看该作者 1楼 发表于: 2016-09-18
你代码写得是什么样子??
有时候为了工作直接获得答案,而我却失去了思考的乐趣!


飘啊飘,何时能安居!
离线artisgrammer

只看该作者 2楼 发表于: 2016-09-18
回 uidab 的帖子
uidab:你代码写得是什么样子?? (2016-09-18 15:44) 

代码里面是写了一个ini文件,从这个ini文件了里面读取配置,但是在windows下,在QtCreator中运行的时候,就是读不出来配置,直接执行编译好的exe就可以。
    g_ini_settings = new QSettings("./config/settings.ini",QSettings::IniFormat, nullptr);
    qDebug() << g_ini_settings->value("widget/settings").toString(); //这里读不出来
离线uidab

只看该作者 3楼 发表于: 2016-09-18
1. 你换成绝对路径试试先。看一下文件放置的实际路径,是不是和你写的一样。
2. windows下好像是大小写敏感的,自己查一下key。 或者你打印出allKeys()。看看这个函数的输出。

有时候为了工作直接获得答案,而我却失去了思考的乐趣!


飘啊飘,何时能安居!
离线artisgrammer

只看该作者 4楼 发表于: 2016-09-19
回 uidab 的帖子
uidab:1. 你换成绝对路径试试先。看一下文件放置的实际路径,是不是和你写的一样。
2. windows下好像是大小写敏感的,自己查一下key。 或者你打印出allKeys()。看看这个函数的输出。
 (2016-09-18 18:47) 

谢谢,换成绝对路径是可行的,我想知道我当前的程序是不是在我配置的目录,可以打印吗?
离线uidab

只看该作者 5楼 发表于: 2016-09-19
回 artisgrammer 的帖子
artisgrammer:谢谢,换成绝对路径是可行的,我想知道我当前的程序是不是在我配置的目录,可以打印吗? (2016-09-19 09:50) 

都是可以的.
有时候为了工作直接获得答案,而我却失去了思考的乐趣!


飘啊飘,何时能安居!
离线artisgrammer

只看该作者 6楼 发表于: 2016-09-19
谢谢,问题已经解决,一直把Excutable的路径当成了绝对路径但是,换到Windows下居然是Working directory, 实际上前者目录里多了个/debug
快速回复
限100 字节
 
上一个 下一个