C++ 无法打开源文件

Posted

技术标签:

【中文标题】C++ 无法打开源文件【英文标题】:C++ cannot open source file 【发布时间】:2017-03-08 19:00:20 【问题描述】:

在 C++ 和 Visual Studio 2017 中,

我将一些头文件复制到我的项目文件夹中,然后将它们添加到 C++ 中的“解决方案资源管理器”下。现在当我写

#include "name.h"

它在包含下打印一个错误,并说“无法打开源文件”。

为什么,我可以做些什么来解决它?

我才刚下载VS,第一次学c++。

【问题讨论】:

在您的项目属性中验证您的“其他包含目录” 【参考方案1】:

如果您使用的是 Visual Studio,请右键单击项目,然后单击属性,在配置属性下单击 C\C++,然后将目录添加到附加包含目录部分下的头文件中。

【讨论】:

【参考方案2】:

这里有更多关于如何处理这个问题的信息:Where does Visual Studio look for C++ header files?

对我来说,我遵循 xflowXen 的回答,然后在“包含目录”中输入我的头文件所在的特定路径名,后跟分号,例如: C:\用户\名称\源\repos\p2-A\p2-A; 然后应用更改,问题就消失了。

【讨论】:

【参考方案3】:

对于那些还在摸不着头脑的人,你不是“应该”#include 你自己的带有三角引号()的头文件,你应该使用“引号”。这是一个常见的错误。

【讨论】:

【参考方案4】:

Visual Studio(或者更确切地说是编译器)需要知道在哪里查找包含的文件。检查您的 VS 项目中的包含路径。

【讨论】:

【参考方案5】:
#include<iostream.h>
#include<conio.h> 
#include<stdlib.h> 
using namespace std; 

int divide(int num, int den) 

   if(den==0) 
    
      return -1; 
    
   if((num%den)==0) 
    
      return 1; 
    
   else 
       
      return 0; 
    
 

int divide(int a) 
 
   int j = a/2, flag = 1, i; 

   for(i=2; (i<=j) && (flag); i++) 
    
      if(a%i == 0) 
       
         flag = 0; 
       
    
   return flag; 
 

void main() 
 
   clrscr(); 
   int choice, res, a, b; 

   do 
    
      cout<<"1.Check for divisibility\n"; 
      cout<<"2.Check for Prime\n"; 
      cout<<"3.Exit\n"; 
      cout<<"Enter your choice(1-3): "; 
      cin>>choice; cout<<"\n"; 
      switch(choice) 
       
         case 1: 
            cout<<"Enter numerator and denominator: "; 
            cin>>a>>b; 
            res = divide(a, b); 
            if(res == -1) 
             
               cout<<"Divide by zero error..!!\n"; break; 
             
            cout<<((res) ? "It is" : "It is not")<<"\n"; 
            break; 
         case 2: 
            cout<<"Enter the number: "; 
            cin>>a; 
            res = 0; 
            res = divide(a); 
            cout<<((res) ? "It is" : "It is not")<<"\n"; 
            break; 
         case 3: 
            cout<<"Exiting...press any key..."; 
            getch(); 
            exit(1); 
         default:
            cout<<"Wrong choice..!!"; 
       
      cout<<"\n"; 
   while(choice>0 && choice<=3); 
   getch(); 

【讨论】:

有人能解释一下这段代码与这个问题有什么关系吗? 不知道这段代码在做什么/应该做什么。你应该添加一些解释

以上是关于C++ 无法打开源文件的主要内容,如果未能解决你的问题,请参考以下文章

在vs中运行C++程序出现错误无法打开包括文件“iostream.h”

Visual Studio C++ Link1104 无法打开文件 MSVCURTD.lib

Xcode 新手无法在 C++ 中打开文件?

visual c++,链接:致命错误 LNK1104:无法打开文件

Visual Studio 2015 c++ 无法打开包含文件或源文件

为啥在 Visual Studio 中编译 C++ 项目时出现致命错误“LNK1104:无法打开文件 'cryptlib.lib'?