다른 많은 사람들과 마찬가지로, 저는 iTunes에서 CS106B 클래스를 사용하고 있습니다. 클래스는 오래되었지만 현재 사용되고있는 Stanford C++ 라이브러리를 사용하려고합니다. 그들은 여기에서있다 : http://www.stanford.edu/class/cs106b/.Stanford Engineering Everywhere CS106B XCode의 C++ 라이브러리 4.6.2
프로젝트의 빌드 단계에서 "라이브러리와 이진 파일 링크"에 "random.h"및 "libStanfordCPPlib.a"파일을 삽입했습니다. 이렇게하면 다음과 같은 오류 메시지가 나타납니다.
Check dependencies
warning: skipping file '/Users/lewis/Documents/Think Like a Programmer/CS106/VotingSimulation/../../../Programming Abstractions/Assignment 1/Assignment1-xcode/0 - Warmup/StanfordCPPLib/random.h' (unexpected file type 'sourcecode.c.h' in Frameworks & Libraries build phase)
ld: warning: ignoring file /Users/lewis/Documents/Programming Abstractions/Assignment 1/Assignment1-xcode/0 - Warmup/StanfordCPPLib/libStanfordCPPLib.a, file was built for archive which is not the architecture being linked (x86_64): /Users/lewis/Documents/Programming Abstractions/Assignment 1/Assignment1-xcode/0 - Warmup/StanfordCPPLib/libStanfordCPPLib.a
Undefined symbols for architecture x86_64:
"randomChance(double)", referenced from:
_main in main.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Mac OS X 10.7.5 및 XCode 4.6.2를 사용하고 있습니다. 프로젝트 및 대상 모두에 대해 OS X 10.7로 Build Settings Base SDK를 설정했습니다.
"libStanfordCPPlib.a"파일은 헤더 파일의 구현 코드를 연결하기 전에 보관 해 두어야하는 보관 파일 일 수 있습니다. 이것이 내가해야 할 일입니까, 그렇다면 어떻게해야합니까? 파일을 연결하는 데 잘못된 것이 있습니까?
저는 멍청한 사람입니다. 현재 스탠포드 CS106B C++ 라이브러리를 Xcode 4.6.2에서 작동시키는 데 성공한 사람의 도움을 받아 주시면 감사하겠습니다.
잘못된 형식의 건너 뛴 파일을 살펴 보았습니까? 'sourcecode.c.h' ?? – ChiefTwoPencils
궁금한 점은 내 컴퓨터에 "sourcecode.c.h"라는 파일이 없다는 것입니다. 이것은 Frameworks & Libraries 빌드 단계에서 Xcode가 빌드하는 파일입니까? – user1973057
저는 Xcode에 익숙하지 않아 다른 사람들에게 명백한 것을 놓칠 수 있습니다.libStanfordCPPlib.a 파일과 헤더 파일에 연결하는 올바른 방법에 대한 간단한 단계를 제공 할 수 있습니까? – user1973057