2013-10-01 2 views
0

소스 MaxSumOfSubArray.cpp의 실패했습니다C++ 링커 명령은 종료 코드 1

#include "MaxSumOfSubArray.cpp" 

int main(int argc, const char * argv[]) 
{ 
    MaxSumOfSubArray::run(); 
    return 0; 
} 

하지만 오류 얻을 : 나는 무엇입니까 왜

duplicate symbol __ZN16MaxSumOfSubArray3runEv in: 
/Users/li.tonghui/Library/Developer/Xcode/DerivedData/CppChallenges-eobfuxlkqjfgebendxkoqbsvsbmr/Build/Intermediates/CppChallenges.build/Debug/CppChallenges.build/Objects-normal/x86_64/main.o 
/Users/li.tonghui/Library/Developer/Xcode/DerivedData/CppChallenges-eobfuxlkqjfgebendxkoqbsvsbmr/Build/Intermediates/CppChallenges.build/Debug/CppChallenges.build/Objects-normal/x86_64/MaxSumOfSubArray.o 
ld: 1 duplicate symbol for architecture x86_64 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 

을 이 오류와 어떻게 해결할 수 있습니까?

+0

관련 질문에 대한 답변은 여기를 참조하십시오. http://stackoverflow.com/questions/18579340/header-guards-do-not-seem-to-work/18580233#18580233 – kfsone

답변

2

main.cpp에 MaxSumOfSubArray.cpp를 포함하고 컴파일하려고합니다. 둘 중 하나, 둘 ...

힌트를 수행합니다 일반적으로 당신이 another.cpp에서 cpp를 포함하지 않을 컴파일을 시도하고 명령하는

1

(당신은 .H 파일을 포함) 이미 MAIN.CPP에서 MaxSumOfSubArray.cpp을 포함하기 때문에 잘못 라인

clang .... main.cpp MaxSumOfSubArray.cpp 

, 당신은 다시 지정할 필요 없어요.

관련 문제