2012-07-11 57 views
1

我正在通过在线课程(斯坦福大学CS106B通过iTunes U)学习C++,并试图在4.3.2版本中使用为Xcode 3设计的代码。C++&Xcode:Apple Mach-O链接器错误?

我怀疑4.3中有根本性的变化.2,因此与旧的代码基本不兼容。

下面的截图显示了我正在编译的C++代码和Xcode 4.3.2报告的错误。

这个问题可能有一个简单的答案,任何帮助将不胜感激。

如果有人可以向我解释什么是错误的新术语,这将是太棒了!

我简单的程序: program

运行时出现错误: error

+0

1.它是Xcode,而不是X-Code,XCode,CXode或其他东西。 2. Xcode及其版本与此错误无关 - 这是一个链接器错误。 Xcode不是链接器。 3.你很可能会遇到名称混乱的问题(只是谷歌这个表达式)。 – 2012-07-11 09:48:27

+0

@ H2CO3谢谢 - 我删除了这个短跑!我用谷歌搜索表达,但没有拿出任何我发现非常有用的东西,因此我的帖子在这里 – MeltingDog 2012-07-11 09:51:55

+0

行,基本上这个问题可能是(由于错误的编译器设置),C++使用不同的符号和函数命名约定, C.这意味着,由C++编译器生成的目标文件只能使用正确的相应C++链接器标志进行链接 - 可能应该查看编译器及其选项。 – 2012-07-11 09:54:14

回答

0

你似乎并没有被编译并包含函数GetInteger()在源文件中的链接。

编辑main()的问题是,由于它在你的genlib.cpp被定义。

+0

感谢trojanfoe。我已经使用“构建阶段”选项卡正确添加了库(之前我一无所知)。这就解决了GetInteger()问题,但其他问题依然存在。它不会让我使用上面的代码。它说有太多的论据 – MeltingDog 2012-07-11 10:15:28

+0

@MeltingDog是的说实话我不确定我的建议与'主要';我一直能够使用您在原始代码中提供的表单。我不确定那里发生了什么。你可以请求在你的项目中搜索“main”(左手边的第四个标签),看看有没有重新定义它的东西? – trojanfoe 2012-07-11 10:21:58

+0

谢谢。搜索'main'会在genlib.cpp文件中显示* main()函数....不完全确定这是什么意思 – MeltingDog 2012-07-11 10:30:36