除了在.h中声明为'extern',并且在.cpp中实现之外,是否有任何原因符号乘法定义?除'extern'之外的符号乘法定义的可能原因
我敢肯定,我所有的文件都遵循规则,但我发现了这样的错误消息:
ld: lto: could not merge in /Users/zlw/Library/Developer/Xcode/DerivedData/Wireless -
amjmgyrircjezdhegioctszbcypz/Build/Intermediates/Wireless.build/Debug/Wireless.build/Objects
normal/x86_64/qam.o because 'Linking globals named '_Z12SNRFromSNRdBd': symbol multiply
defined!', using libLTO version 'LLVM version 3.3svn, from Apple Clang 5.0 (build
500.2.76)' for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
邮件是否意味着所有的烦恼都事做“QAM .h'或'qam.cpp'?
是否有任何其他原因'extern'或有什么方法可以看到我的代码在Xcode中出了什么问题?
非常感谢!
谢谢!正是这个问题,我在两个不同的文件中定义了两次相同的函数SNRFromSNRdB(double)。 – Lewen