首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在标头中实现的clang++编译模板类

在标头中实现的clang++编译模板类
EN

Stack Overflow用户
提问于 2017-06-04 07:15:21
回答 1查看 464关注 0票数 0
代码语言:javascript
复制
$ make
clang++ -o build/blist.exe  src/driver.cpp src/BList.h -O0 -g -Wall -Wno-unused-parameter -Wextra -Wconversion -Wold-style-cast -std=c++14 -pedantic -Wold-style-cast
clang: warning: treating 'c-header' input as 'c++-header' when in C++ mode, this behavior is deprecated [-Wdeprecated]
clang: error: cannot specify -o when generating multiple output files

我的模板实现是在BList.cpp中,但是BList.h包括BList.cpp。这就是为什么我把头作为一个对象传入的原因。我不知道如何设置clang编译!

  • 我的标题必须被命名为"BList.h“,据我的教授说。
  • 这些参数与GCC一起编译,但不与Clang一起编译。
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-06-04 07:19:17

该错误与将BList.cpp包含在BList.h中无关(尽管这本身就是一种可疑的实践)。

问题是,您将src/BList.h传递给Clang,就好像它是源文件一样。构建指令应该是:

代码语言:javascript
复制
clang++ -o build/blist.exe  src/driver.cpp -O0 -g -Wall -Wno-unused-parameter -Wextra -Wconversion -Wold-style-cast -std=c++14 -pedantic -Wold-style-cast

您应该相应地更新makefile。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44351668

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档