除了在.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