1
에서 C 파일을 포함하도록 내가 하나 내보기 컨트롤러에서이 코드를했다. 하지만 저는 C 언어의 기능으로 해왔습니다. 오래된 습관은 많이 죽습니다.어떻게 아이폰 OS 프로젝트
은 지금이 콘텐츠와 파일 WOC_Random.c이
#include <stdio.h>
#include <stdlib.h> // for arc4random() function
#ifndef WOC_Random_C
#define WOC_Random_C
int randomInt(int startInt, int endInt)
{
int randomNumber = (arc4random() % startInt) + endInt;
return randomNumber;
}
#endif
이제 내보기 컨트롤러 코드는 다음과 같습니다
:int randomNumber = randomInt(1, 6);
하지만 연결에 문제가있다,이 오류가
duplicate symbol _randomInt in:
/Users/Mac/Library/Developer/Xcode/DerivedData/GuessTheNumber-gjovdrsarctubnbqhczqukvahwgb/Build/Intermediates/GuessTheNumber.build/Debug-iphonesimulator/GuessTheNumber.build/Objects-normal/i386/GTN_FirstViewController.o
/Users/Mac/Library/Developer/Xcode/DerivedData/GuessTheNumber-gjovdrsarctubnbqhczqukvahwgb/Build/Intermediates/GuessTheNumber.build/Debug-iphonesimulator/GuessTheNumber.build/Objects-normal/i386/WOC_Random.o
ld: 1 duplicate symbol for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
나는 모호한, 문제가있다.
하지만 수정 방법을 모르십니까?
어떻게 해결할 수 있습니까, 링커 또는 컴파일러에 몇 가지 인수가 필요합니까?
또한이 경우 iOS 개발을 위해 C 함수로 구현하는 것이 가장 좋은 방법을 구현하는 간단한 함수가 있거나 Object C의 클래스 함수로 사용하는 것이 더 좋습니다.
WOC_Random.h에 무엇이 있습니까? –
Objective-C 코드 용 .m 및 .h 파일을 가지고있는 것처럼 일반 C 코드 용 .c 및 .h 파일이 있어야합니다 (Objective-C는 c의 확장이기 때문에 .m 및 .h 파일을 사용하여 원하는 경우 C 코드에서 Objective-C 함수를 호출 할 수 있습니다. 클래스 메쏘드가 실제로 클래스에 속한다면 클래스 메쏘드를 생성해야합니다. C 함수를 클래스 메소드로 넣을 수 있도록 클래스를 생성하면 안됩니다. – gnasher729