我对在 MSVS 中开发 C/C++ 代码相当陌生,但已经让我困惑的一件事是为什么在向我的项目添加一组源文件和头文件后,它们分别显示在 MSVS 文件夹“Source”下文件”和“头文件”,我随后是否必须告诉编译器我的头文件位于“项目->属性->C/C++->常规”下的位置。在我看来,MSVS 应该已经尝试通过首先查看我包含在项目中的头文件集来解决任何“包含“...””语句。
有人愿意评论这里使用的逻辑吗?
IDE 使用项目文件来跟踪您的文件,但编译器无法访问该信息。 编译时,包含文件路径会传递给每个源文件。
我认为这是因为目录中有标头并不一定意味着您希望在该目录中搜索任何其他标头。 可以通过指定标头的路径来包含该特定标头,或者可能会隐式找到它,因为它与包含它的文件位于同一目录中。
综上所述(这只是猜测),我认为你想要的是一个合理的请求(这之前让我有点沮丧)——至少作为一种选择或被询问。
实际上,将头文件添加到所谓的“头文件”文件夹中是可选的。即使不做同样的事情,你也可以在“Project->Properties->....”中指定标题路径,它仍然可以工作。
你可能会认为,只有你的项目的头文件可以添加到“头文件”文件夹中,如果一个大项目有多个第三方库,你绝对不能继续将每个头文件添加到你的项目中。文件夹。
因此,为了将所有包含内容统一为一种配置,应该选择这种方式。
上面引用的所有内容只是我的理解。我没有任何证据支持这一点。所以,我提前道歉,这是错误的。请不要用反对票轰炸我。 :)
头文件的查找必须是确定性的。您的项目中可以有多个同名文件。在这种情况下,您希望编译器如何解决这种混乱?
另一件事是,拥有用于查找头文件的目录是(几乎?)所有编译器的历史特征。
这使得您在 Visual Studio 项目中只能使用头文件:能够从 Visual Studio 轻松打开它们。就是这样!
首先,您是否创建了一个新的C/C++项目?如果是这样,它应该在您选择的位置创建一个目录。完成此操作后,您可以右键单击您的项目(在 MSVS 的解决方案窗口中)并向项目添加一个新文件。例如,您可以将源文件 (.cpp) 和头文件 (.h) 添加到项目中。完成此操作后,您必须在源文件中写入#include“yourfile.h”,以便能够将头文件包含到源文件中。请注意,您可以添加新文件和现有文件。我希望这有帮助!
我从来没有见过这个问题。一旦你创建了一个项目并将IDE中任何相同的项目文件夹头文件添加到你的项目中,你就可以通过#include添加头文件并编译你的源代码。 如果所需的头文件不存在于您创建项目的同一文件夹中,您应该按照您所说的在项目属性中添加头目录:)