您尚未登录。

楼主 #1 2018-03-30 15:15:45

kgp0213
会员
注册时间: 2018-01-15
已发帖子: 149
积分: 149

问个c基础问题:程序的运行路径

FluxBB bbcode 测试 icon下有相应的文件
FluxBB bbcode 测试源码中指定了对应的目录
FluxBB bbcode 测试 可执行文件extended与icon在同一个目录下
FluxBB bbcode 测试可执行文件extended与icon在同一个目录下

此时在example目录下执行extended,程序运行正常~

FluxBB bbcode 测试 在上一级目录下(例如nuklear目录下)执行,提示找不到文件~

请问各位大佬这是为何?

最近编辑记录 kgp0213 (2018-03-30 15:42:18)

离线

#2 2018-03-30 15:36:41

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,348
积分: 9202

Re: 问个c基础问题:程序的运行路径

回去看下这个问题.





离线

楼主 #3 2018-03-30 15:43:33

kgp0213
会员
注册时间: 2018-01-15
已发帖子: 149
积分: 149

Re: 问个c基础问题:程序的运行路径

好快的回复~,秒回啊

离线

#4 2018-03-31 09:10:25

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,348
积分: 9202

Re: 问个c基础问题:程序的运行路径

这个问题有几种解决办法:
1. 在配置文件写入base_dir, 图片相对于base_dir路径
2. 用getcwd( )获取当前路径, 再叠加 main(argc, argv)的argv[0] 路径, 就可以找到 可执行文件的目录,然后就可以定位图片的目录了。

一群老外也在纠结这个问题: How do I run a program with a different working directory from current, from Linux shell?

不过我认为其中最好的答案是:

cd SOME_PATH && run_some_command ; cd -





离线

楼主 #5 2018-03-31 09:47:49

kgp0213
会员
注册时间: 2018-01-15
已发帖子: 149
积分: 149

Re: 问个c基础问题:程序的运行路径

我总是隐隐哪里好像不对。心有不甘.png

你的nuklear debug的时候应该遇到同样的问题才对啊

离线

#6 2018-03-31 10:29:16

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,348
积分: 9202

Re: 问个c基础问题:程序的运行路径

我估计当时也遇到了, 看这个帖子8楼 【github项目】又发现一个轻量级开源UI nuklear,酷炫界面,支持矢量字体。


把环境变量强制加上,终于搞定这个棘手的问题:

yunge@ubuntu:/tmp/nuklear/example/bin$ LIBGL_ALWAYS_SOFTWARE=1 ./extended





离线

楼主 #7 2018-03-31 10:39:31

kgp0213
会员
注册时间: 2018-01-15
已发帖子: 149
积分: 149

Re: 问个c基础问题:程序的运行路径

嗯,你8楼的那个问题,我根本没遇到,因为我用的uBUNTU 16

----------------问题不一样的分割线--------------

我的意思是你用vs或qt调试的时候应该会用到和我一样的问题才对,因为qt debug的时候毕竟qt和nuk毕竟不在同一个目录下

离线

#8 2018-03-31 11:00:23

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,348
积分: 9202

Re: 问个c基础问题:程序的运行路径

kgp0213 说:

嗯,你8楼的那个问题,我根本没遇到,因为我用的uBUNTU 16

----------------问题不一样的分割线--------------

我的意思是你用vs或qt调试的时候应该会用到和我一样的问题才对,因为qt debug的时候毕竟qt和nuk毕竟不在同一个目录下

QQ20180331105950.png

QtCreator和VS均可设置工作目录.   偷笑.gif

我觉得这个功能相当于执行了 cd /xxx,
也就是 getcwd( ) 获取的就是你设置的 working directory了。





离线

#9 2018-03-31 11:05:51

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,348
积分: 9202

Re: 问个c基础问题:程序的运行路径

根据我google搜索出来的解决方案,你想在linux shell改变 working directory只能用 cd命令实现。

参考链接1: Temporarily change current working directory in bash to run a command

参考链接2: How can I get the current working directory?





离线

楼主 #10 2018-03-31 11:46:51

kgp0213
会员
注册时间: 2018-01-15
已发帖子: 149
积分: 149

Re: 问个c基础问题:程序的运行路径

尝试安装qt,根目录磁盘空间不足~
来日再战~~

最近编辑记录 kgp0213 (2018-03-31 11:47:23)

离线

#11 2018-03-31 11:54:30

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,348
积分: 9202

Re: 问个c基础问题:程序的运行路径

kgp0213 说:

尝试安装qt,根目录磁盘空间不足~
来日再战~~

来日方长,
夜长梦多.





离线

楼主 #12 2018-03-31 16:32:43

kgp0213
会员
注册时间: 2018-01-15
已发帖子: 149
积分: 149

Re: 问个c基础问题:程序的运行路径

确实如此啊,中午装了QT creator
按网帖的零碎指导设定了各种参数,安装了MINgw
结果还是“Error while building/deploying project untitled2 (kit: wincc)
When executing step "Make"”

再次查找各种网帖,仍未奏效
FluxBB bbcode 测试
附图一张,以示哀悼~

离线

#13 2018-03-31 16:34:23

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,348
积分: 9202

Re: 问个c基础问题:程序的运行路径

看我的 QtCreator 编译 littlevgl 那个帖子, 保证药到病除.

一步一步分享在Windows QtCreator/Mingw平台编译运行调试LittleVGL





离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn