Stanford Engineering Everywhere CS106B C++ Libraries in XCod

Stanford Engineering Everywhere CS106B C++ Libraries in XCode 4.6.2

本文关键字:Libraries in XCod C++ CS106B Engineering Everywhere Stanford      更新时间:2023-10-16

和其他许多人一样,我正在iTunes上学习CS106B类,尽管该类很旧,但我正在尝试使用最新的斯坦福C++库。它们可以在这里找到:http://www.stanford.edu/class/cs106b/.

在项目的构建阶段,我在"链接二进制与库"中插入了文件"random.h"answers"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。我已经为项目和目标将Build Settings Base SDK设置为OS X 10.7。

在我看来,"libStanfordCPPlib.a"文件可能是一个存档文件,在链接头文件的实现代码之前,我必须对其进行解压缩。这是我需要做的吗?如果是,我该怎么做?链接文件时我是否做错了什么?

我是一个傻瓜,我很感谢任何成功地让当前斯坦福CS106B C++库在XCode 4.6.2中工作的人的帮助。

我刚刚在升级到最新版本的xcode(版本5.0,OSX版本10.8.5)后遇到了这个问题。

尝试将项目的体系结构切换到32位Intel(i386)。默认值为"标准体系结构64位英特尔(x86_64)"。

我目前正在使用xcode 6.4,并试图完成cs 106b的课程工作,我遇到了同样的问题,无法运行示例文件和作业文件(可以在这里找到btwhttp://web.stanford.edu/class/archive/cs/cs106b/cs106b.1136/)。在将Project和Target的体系结构更改为上面列出的32位intel之后,我仍然收到错误。我不得不采取额外的步骤,将项目信息下的OSX部署目标从10.10更改为10.8。

这允许构建程序,但我收到了一个通知,说我需要安装Java运行时环境,并且没有咨询输出。安装此程序并没有解决问题。我只能在安装Java开发工具包后才能完全执行代码。我现在可以编译课程的所有文件了。

我希望这次更新有助于最近访问此信息的尝试。

我希望你现在已经找到了问题的答案,但由于我也遇到了类似的问题,试图让xcode 5.1编译Warmup.cpp,我想我应该发布我的解决方案,以供其他试图让xcde使用cs106b库的人使用。

在与xcode 5.1.1和5.0.2作斗争后,我从苹果开发网站www.developer.apple.com下载了xcode 4.6.3,并破坏了后来的版本。在安装4.6.3之后,我仍然遇到了错误,但在将Project和Target的架构切换为"32位Intel"之后,正如mesysaurus所建议的那样,warmup.cpp编译得很好。在xcode 5.1.1和5.0.2中尝试同样的技术没有结果。

希望这能帮助其他遇到问题的人。