找回密码
 立即注册
收起左侧

make程序时缺少-lqtmaind库及 No new Line的解决方法

2
回复
6219
查看
[复制链接]
累计签到:4 天
连续签到:1 天
来源: 原创 2015-3-18 08:59:09 显示全部楼层 |阅读模式

马上注册,查看详细内容!注册请先查看:注册须知

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
    正在看《C++ GUI Qt4编程第二版》这本书;实验环境是:win7 64位,qt-win-opensource-4.3.2-mingw.ext, qr-creator-win-opensource-1.1.0(集成了MinGW);没有单独装MinGW,因为找不到Qt4.3.2对应的包(-.-)。
    做这本书的第一个程序“Hello Qt”就遇到了问题,make时提示 “Warning: No newline at end of the file; Error: ld[1]:cannot find -lqtmaind”。
    第一个警告的解决方法很简单,在main函数结束后按回车键换一行就行了、具体原因以后再查,反正以后再编Qt程序时记得最后一个函数结束后一定要换行就可以了!  Error的解决办法:因为当时我运行Qt的安装程序、并选择了MinGW的所在目录后就直接用了,并没看INSTALL文件或Qt Assistant的Qt/Windows的安装说明,也就是说我少了两部:①配置过程configure ②编译过程make。第一部如果没有特殊情况可以直接配置,并且过程很短;编译的话根据你所用的平台及编译器输入对应的命令,我用的是mingw32,就是mingw32-make,不同性能的电脑可能(只是可能)配置时间也不同,我是4G内存4核i7,用了大概4个小时,当时我还以为出啥情况了。。。
    这两个问题解决后就可以正确Make了,可执行文件位于debug目录下(Linux下是源文件所在目录),如果想把可执行文件make到release目录下,输入命令 make release 就可以了。
回复

使用道具 举报

尚未签到

2015-3-18 12:05:38 显示全部楼层
你说的换行问题可能是因为win和unix换行标准不一样导致:

win是\r\n      (我没记错的话。。)
unix是\n         

所以可能导致源代码出现换行识别不出来
回复 支持 反对

使用道具 举报

累计签到:4 天
连续签到:1 天
2015-3-18 13:35:17 显示全部楼层
Joey_Chan 发表于 2015-3-18 12:05
你说的换行问题可能是因为win和unix换行标准不一样导致:

win是\r\n      (我没记错的话。。)

和代码没关系、在文件结尾处加个空行就可以了!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了