作者vic147569az (亿载金城武)
看板C_and_CPP
标题[问题] googletest使用问题
时间Thu Sep 22 00:06:22 2022
想询问Mac 使用googletest问题
这学期修习物件导向程式设计
老师要求我们安装googletest
但我安装完後却无法顺利执行
原本预计要跑出ut_all档的
但现在啥都跑不出来QQ
想请问大家我在那一部分设定错误了吗?
谢谢大家!
https://i.imgur.com/vdLMiOX.png
https://i.imgur.com/oJPIEdO.png
https://i.imgur.com/hxt6qCI.png
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 111.241.173.107 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1663776384.A.8B4.html
1F:→ tomsawyer: 你看得懂最後一张图 有error 啊error在哪? 09/22 00:18
2F:→ Lipraxde: Compile error log 要从上往下看,你只给最下面的内容 09/22 00:21
3F:→ Lipraxde: 有点难猜,可能你指定的 c++11 跟安装的 gtest 对不上 09/22 00:21
4F:→ Lipraxde: ?From google test readme: "The 1.12.x branch will 09/22 00:21
5F:→ Lipraxde: be the last to support C++11. Future releases will 09/22 00:21
6F:→ Lipraxde: require at least C++14." 09/22 00:21
7F:推 LPH66: Um, 这个讯息有点倒过来的感觉... 09/22 01:06
8F:→ LPH66: 他的 makefile 里面确实指定 c++14 了 09/22 01:06
9F:→ LPH66: 但这讯息却好像是在说 C++11 功能「太新」不支援 09/22 01:08
10F:→ LPH66: 原 PO 你确定你在 vscode 里有执行 makefile 吗? 09/22 01:08
11F:→ LPH66: 还是单纯地在 vscode 里按「编译」键而已? 09/22 01:08
13F:→ LPH66: 原 PO 或许可以参考一下 09/22 01:10
14F:推 CoNsTaR: 原 Po 第三张图最後一行,根本没有用 make 啊... 09/22 04:14
15F:→ CoNsTaR: Makefile 写得再好也没用 orz 09/22 04:14
16F:推 CoNsTaR: 而且如果用 make 的话 make 也会报错,不会只有 g++ 的 09/22 04:16
17F:→ CoNsTaR: 错误讯息 09/22 04:16
18F:→ Lipraxde: 奇怪,我记得睡前看是 11 的说 09/22 08:14
19F:→ vic147569az: 抱歉 附上完整error log截图 09/22 08:26
26F:→ vic147569az: 我make後跑出来的是 09/22 08:31
27F:→ vic147569az: g++ HelloWorld.cpp -o HelloWorld 09/22 08:31
28F:→ vic147569az: 不是应该也要跑出 09/22 08:37
29F:→ vic147569az: g++ -std=c++14 -Wfatal-errors ut_main.cpp -out_a 09/22 08:37
30F:→ vic147569az: ll -lgtest-lpthread吗QQ 09/22 08:37
31F:推 lycantrope: 你makefile hello:就没写c++14 怎麽会有c++14 09/22 09:09
32F:→ lycantrope: 如果gtest需要c++11以上,compile hello就先error 09/22 09:11
33F:→ lycantrope: 轮不到ut_all 09/22 09:11
34F:推 NciscalA: makefile 的 recipe 开头要 tab 09/22 09:32
35F:→ NciscalA: 另外你贴的 error 也不是 make 的结果吧?要手动编的话 09/22 09:32
36F:→ NciscalA: 就把 makefile 第 11 行 复制过去跑 09/22 09:32
37F:→ vic147569az: 感谢N大 09/22 11:28
38F:→ vic147569az: 我成功了!!!!!!! 09/22 11:28
39F:→ vic147569az: 感谢您!!!!!!!!!!! 09/22 11:28
40F:推 LPH66: 然後这里要来教一个 Makefile 常用技巧: 把编译参数放变数 09/22 19:53
41F:→ LPH66: 例如可以在开头写 CXXFLAGS = -std=c++14 -Wfatal-errors 09/22 19:54
42F:→ LPH66: 然後编译指令里这个地方就用 $(CXXFLAGS) 取代 09/22 19:54
43F:→ LPH66: 只要每个编译指令都记得加这个参照, 所有参数就能一次套用 09/22 19:54
44F:→ LPH66: 记一个变数比起记所有参数来得容易 09/22 19:55
45F:→ LPH66: CXXFLAGS 这个名字也是惯例上 (及某程度上的 make 预设) 09/22 19:55
46F:→ LPH66: 用来存编译参数的变数名字; 连结参数类似地有 LINKFLAGS 09/22 19:56
47F:推 gusion: 变数的话可以看make的document 09/23 12:04
49F:推 gusion: 还有像是内建函式和特殊变数,都可以翻翻文件,功能满多的 09/23 12:09
50F:→ vic147569az: 谢谢大家热情的回覆 09/23 21:51
51F:→ vic147569az: 今天上课老师才说他给的makefile少打了一个ut_all! 09/23 21:51
52F:推 arshuan: 建议用cmake吧 . 学过之後只会觉得手写makefile太苦了 01/05 02:13