当前位置: 技术问答>linux和unix
编译的程序双击运行和在命令行下运行为什么结果会不一样?
来源: 互联网 发布时间:2016-04-09
本文导语: 问题如题~~~ 小子写了一个程序,编译完成了,但是在双击运行和命令行运行的结果却不一样~~~ 还有一个问题就是开发一个软件,编译的时候需要很多库,如果要把它打包发布,如果有的人的系统没有装这个库,那...
问题如题~~~
小子写了一个程序,编译完成了,但是在双击运行和命令行运行的结果却不一样~~~
还有一个问题就是开发一个软件,编译的时候需要很多库,如果要把它打包发布,如果有的人的系统没有装这个库,那就不能运行了吧?那是不是我们自己把需要的库都放到包里去,然后用脚本去设置路径?
小子对软件开发的具体步骤不熟,望各位大大不吝赐教,感谢万分!!!
小子写了一个程序,编译完成了,但是在双击运行和命令行运行的结果却不一样~~~
还有一个问题就是开发一个软件,编译的时候需要很多库,如果要把它打包发布,如果有的人的系统没有装这个库,那就不能运行了吧?那是不是我们自己把需要的库都放到包里去,然后用脚本去设置路径?
小子对软件开发的具体步骤不熟,望各位大大不吝赐教,感谢万分!!!
|
双击运行和命令行运行的结果却不一样~~~
怎么不一样?描述一下?
还有一个问题就是开发一个软件,编译的时候需要很多库,如果要把它打包发布,如果有的人的系统没有装这个库,那就不能运行了吧?那是不是我们自己把需要的库都放到包里去,然后用脚本去设置路径?
你是在linux还是在windows啊?在linux你应该知道每个源码安装包里都会有一个configure文件用来检查配置的,如果configure发现需要的条件不满足(比如你所说的库不存在),那么它就会做一些相应的操作(configure脚本是你写的,你想怎么操作就怎么操作了罗),也许是警告,也许是停止安装(比如你的情况,你就可以选择把需要的库放在包里,如果对方没有你需要的这些库或者和你需要库的版本号不一致,你可以选择把你的库用脚本放在你想要的路径中)。
|
我那个程序的主要功能就是从一个外接设备中读取数据,然后控制鼠标产生相应动作,在命令行下使用是正常的,但是双击打开运行的时候结果却出问题了~~~
你只说出问题,却没说出了什么问题了,我不好帮你定位啊。
后一个问题是不是说:需要重新在目标机子上编译一遍,能不能直接就用编译好的可执行文件?然后把需要的库放到指定的路径呢?
一般情况下不建议这么做,因为不同OS,不同hardware,可能对于对于你编译好的可执行文件的“解释”不同,导致运行时出错。但是,如果你确认OS相同,硬件平台相同,比如:都是X86上的UBUNTU系统,那么是可以用直接编译好的可执行文件的。