[问题] googletest使用问题

楼主: vic147569az (亿载金城武)   2022-09-22 00:06:22
想询问Mac 使用googletest问题
这学期修习物件导向程式设计
老师要求我们安装googletest
但我安装完后却无法顺利执行
原本预计要跑出ut_all档的
但现在啥都跑不出来QQ
想请问大家我在那一部分设定错误了吗?
谢谢大家!
https://i.imgur.com/vdLMiOX.png
https://i.imgur.com/oJPIEdO.png
https://i.imgur.com/hxt6qCI.png
作者: tomsawyer (安安)   2022-09-22 00:18:00
你看得懂最后一张图 有error 啊error在哪?
作者: Lipraxde (Lipraxde)   2022-09-22 00:21:00
Compile error log 要从上往下看,你只给最下面的内容有点难猜,可能你指定的 c++11 跟安装的 gtest 对不上?From google test readme: "The 1.12.x branch willbe the last to support C++11. Future releases willrequire at least C++14."
作者: LPH66 (-6.2598534e+18f)   2022-09-22 01:06:00
Um, 这个讯息有点倒过来的感觉...他的 makefile 里面确实指定 c++14 了但这讯息却好像是在说 C++11 功能“太新”不支援原 PO 你确定你在 vscode 里有执行 makefile 吗?还是单纯地在 vscode 里按“编译”键而已?另外刚才搜到这个 https://stackoverflow.com/a/57341371原 PO 或许可以参考一下
作者: CoNsTaR ((const *))   2022-09-22 04:14:00
原 Po 第三张图最后一行,根本没有用 make 啊...Makefile 写得再好也没用 orz而且如果用 make 的话 make 也会报错,不会只有 g++ 的错误讯息
作者: Lipraxde (Lipraxde)   2022-09-22 08:14:00
奇怪,我记得睡前看是 11 的说
楼主: vic147569az (亿载金城武)   2022-09-22 08:26:00
抱歉 附上完整error log截图https://i.imgur.com/2MRZXeY.jpghttps://i.imgur.com/Aj0a1kB.jpghttps://i.imgur.com/bAlSQhq.jpghttps://i.imgur.com/bpkZG22.jpghttps://i.imgur.com/jHjso9F.jpghttps://i.imgur.com/EGh1vnx.jpg我make后跑出来的是g++ HelloWorld.cpp -o HelloWorld不是应该也要跑出g++ -std=c++14 -Wfatal-errors ut_main.cpp -out_all -lgtest-lpthread吗QQ
作者: lycantrope (阿宽)   2022-09-22 09:09:00
你makefile hello:就没写c++14 怎么会有c++14如果gtest需要c++11以上,compile hello就先error轮不到ut_all
作者: NciscalA   2022-09-22 09:32:00
makefile 的 recipe 开头要 tab另外你贴的 error 也不是 make 的结果吧?要手动编的话就把 makefile 第 11 行 复制过去跑
楼主: vic147569az (亿载金城武)   2022-09-22 11:28:00
感谢N大我成功了!!!!!!!感谢您!!!!!!!!!!!
作者: LPH66 (-6.2598534e+18f)   2022-09-22 19:53:00
然后这里要来教一个 Makefile 常用技巧: 把编译参数放变量例如可以在开头写 CXXFLAGS = -std=c++14 -Wfatal-errors然后编译指令里这个地方就用 $(CXXFLAGS) 取代只要每个编译指令都记得加这个参照, 所有参数就能一次套用记一个变量比起记所有参数来得容易CXXFLAGS 这个名字也是惯例上 (及某程度上的 make 默认)用来存编译参数的变量名字; 连结参数类似地有 LINKFLAGS
作者: gusion   2022-09-23 12:04:00
变量的话可以看make的documenthttps://reurl.cc/KQo1zg还有像是内建函式和特殊变量,都可以翻翻文件,功能满多的
楼主: vic147569az (亿载金城武)   2022-09-23 21:51:00
谢谢大家热情的回复今天上课老师才说他给的makefile少打了一个ut_all!
作者: arshuan (阿轩)   2021-01-05 02:13:00
建议用cmake吧 . 学过之后只会觉得手写makefile太苦了

Links booklink

Contact Us: admin [ a t ] ucptt.com