需要基本示例代码编译帮助 - 我无法让任何 SDK 示例工作

Posted

技术标签:

【中文标题】需要基本示例代码编译帮助 - 我无法让任何 SDK 示例工作【英文标题】:Basic example code compiling help required - I can't get any SDK examples to work 【发布时间】:2011-05-09 11:49:15 【问题描述】:

我对 C++ 很陌生;我现在在各种应用程序上使用了多个 SDK,每次都遇到无法编译“示例代码”的问题。这是一个非常广泛的问题,基本上是关于通过网络给出的任何示例代码 - 使事情编译的标准程序是什么?我知道如何编译自己编写的代码,但是当给定一个包含多个 CPP 和 H 文件的大型项目时,我应该从什么开始?我的第一个调用端口,在 Dev-C++ 中打开“main.cpp”并点击“编译”按钮通常会引发有关头文件不可用等错误。

我不会给出一个具体的例子,因为这已经发生了好几次了。我觉得作为一个开始掌握 C++ 的人,如果我可以从可以工作的代码开始并自己调整它,而不是费力地逐个构建,我会学得更快。

最近的例子是一个公司提供的一组示例代码,里面有10个文件:

-Arial.ttf
-demo_resources.rc
-icon.ico
-main.c
-simple.dsp
-simple.dsw
-simple.exe
-simple.h
-trial.c
-trials.c

运行 .exe 文件绝对没问题;但是,如果我打开 main.c 并按编译,我会收到许多错误消息。例如,main.c 中的前两行代码是:

#include "simple.h"
#include <sdl_text_support.h>

仅此一项就会发出错误消息:

1: expected unqualified-id before "public"
1: expected `,' or `;' before "public"
2: In file included from trial.c

很明显,我做错了什么,因为这段代码过去一定是为其他人编译的,才能生成 .exe 文件。同样,这不是一个孤立的问题,我一直都有这个问题。

由于 Dev-C++ 完全具备处理普通的旧 C 文件的能力,我看不出这是问题所在。其次,simple.h 肯定包含在正确的目录中。但是,第二个包含 sdl_text_support.h 显然不在我上面的文件列表中。我搜索了 SDK 的其余部分,发现该文件潜伏在其他地方。如何使用 Dev-C++ 显式引用头文件的位置?

任何关于如何编译预制项目的一般教程或任何形式的帮助都将不胜感激。

【问题讨论】:

DevC++ 是一堆无人维护的傻瓜。请改用 Code::Blocks。 首先,放弃 DevC++。它老了,死了,不再受支持。选择 Code::Blocks 或 Visual Studio Express 之类的东西(我认为它就是这样称呼的)。其次,很难给你一个关于如何编译代码的通用答案。只需阅读 IDE 的文档即可。尤其是如何设置包含路径之类的东西。 或 Visual Studio express。您可能对 VS 有更好的运气,因为您的示例似乎是为它构建的(dsp 和 dsw 文件)。 我曾尝试使用 Visual Studio Express,但只是被告知该文件必须转换为当前格式。继续这样做不会导致任何事情发生。虽然我现在已经改变了两次程序,但我在接下来的几个小时内都没有进展! 【参考方案1】:

我喜欢这个页面:

http://www.cprogramming.com/tutorial.html

【讨论】:

【参考方案2】:

我不熟悉 DevC++,但你不能假设如果你可以打开 main.c 并按下一个按钮,那么一切都会好起来的。没有任何构建系统如此智能。

如果您编写自己的代码(并且您了解编译和链接),那么您可以保持文件井井有条,并且确切地知道如何构建所有内容;其他人的代码库可能附带一个 makefile 或其他一些组织指南,但你必须学习如何使用一个好的构建系统,而你使用的那个听起来不够。

【讨论】:

看起来它正在链接我需要阅读的内容。我学到了很多关于实际 C++ 代码语法的知识,但对文件组织和链接一无所知。我会调查一下。谢谢【参考方案3】:

通过simple.dsw而不是main.cpp打开项目,它应该可以工作。

【讨论】:

以上是关于需要基本示例代码编译帮助 - 我无法让任何 SDK 示例工作的主要内容,如果未能解决你的问题,请参考以下文章

需要帮助设置“工作场所”

如何在 iPhone SDK 中使用 LinkedIn API?

eprocessing 网络 ios sdk 集成

为 samsung tocco 编译 java me 代码需要哪个 sdk?

我无法让 FER 使用示例代码

无法编译任何游标示例