“错误C1083:无法打开源文件”不应该在寻找文件

时间:2013-05-07 15:26:57

标签: c++

我正在尝试使用某些函数#include cpp 文件,以便稍后我可以将该cpp文件与其他项目一起使用。它给了我一个'已定义的.obj'错误,从那时起.cpp文件就像我的项目绑定。 (我明白这不是方法,答案here帮助我完成已定义的

如果我从项目中排除 .cpp文件,删除目录删除#include行仍在寻找它:

c1xx : fatal error C1083: Cannot open source file: 'std.cpp': No such file or directory

诊断:

Outputs for D:\MY DOCUMENTS\C#\PROJECT\D3DTESTC++\COWS AND BULLS\CBMAIN.CPP|D:\MY DOCUMENTS\C#\PROJECT\D3DTESTC++\COWS AND BULLS\STD.CPP: (TaskId:15)

根本不应该寻找std.cpp,我删除了它!那么我有没有办法重置项目并重新编译以便程序不会查找它?我已经尝试重建清除 - >建立项目

13 个答案:

答案 0 :(得分:12)

当我遇到与VS Express类似的问题时,我不得不打开.vcxproj文件(这只是XML),并删除了违规行为     < ClInclude Include =" FILEPATHANDNAME" >标签

答案 1 :(得分:8)

好的,我不知道我是怎么做的但是我仍然会尝试写下我做的事情。

  1. 保存所有关闭解决方案
  2. 打开 .vcxproj 文件(不是.sln)
  3. 构建 - > 清理[项目名称]
  4. 全部保存关闭
  5. 再次打开 .sln 文件。
  6. 构建 - > 仅限项目 - > 仅清洁[项目名称]
  7. 构建 - > 仅限项目 - > 仅构建[项目名称]
  8. 这正是我所做的,为我工作。我认为要做的主要是清理,保存,关闭,打开,构建,但我不确定。

答案 2 :(得分:7)

在解决方案资源管理器中,您可以选择/取消选择“显示所有文件”选项。 尝试这两个选项,并确保排除的文件不包含在项目中。

这就是我所拥有的: 我使用“显示所有文件”选项(这样您就可以看到项目目录中的所有文件)。我从项目中排除了一个.cpp文件。但是,它表现为此文件在项目中。

这就是我设法解决它的方法: 我关闭了“显示所有文件”,看到这个文件仍然属于项目!所以我再次排除了这个文件。

如我所见,这是一个已知问题。

这对我有用,希望它对其他人有用。

答案 3 :(得分:3)

尝试详细构建构建器输出以查看正在进行的操作的确切步骤。我想,你使用Visual Studio,对吗?

  1. 转到菜单“工具 - >选项”
  2. 在选项对话框中,选择“项目和解决方案 - >构建并运行”
  3. 将“MSBuild项目构建输出详细程度”的当前模式从“最小”更改为“诊断”或“详细”。
  4. 重建项目并调查输出窗口
  5. 构建器转储应该能够更好地了解您当前的设置(我怀疑您对该文件的引用次数超出预期)

答案 4 :(得分:3)

这件事发生在我身上,因为我从IDE内部重命名了文件夹。以上解决方案均无效。解决这个问题的唯一方法是在记事本中打开vcproj,你应该在<ItemGroup>中看到有问题的文件。只需删除这些行。

答案 5 :(得分:3)

此处的许多解决方案无效

全面保护方法:

  1. 打开在文本编辑器中给您带来麻烦的vxproj文件。
  2. 删除对其找不到的文件的所有引用。

答案 6 :(得分:2)

或者有时候,就像我的情况一样,问题只在于命名位置中的文件夹。我有一个很长的路径文件夹,我喜欢用特殊字符命名,所以它们显示在顶部,很容易访问它们。 只要我将解决方案放在D:驱动器中的文件夹中,问题就消失了。

答案 7 :(得分:2)

当我重命名文件时,我发现我必须转到SolutionExplorer,源文件,选择文件,首先从项目中排除,然后将其重新添加到项目中,并重建解决方案吧它仍然存在。它仍然显示为源文件下的旧文件名。

答案 8 :(得分:1)

我从Project中删除了这些来源并重新添加它们。不知何故,在一个快速的项目重构之后,引用被搞砸了。

答案 9 :(得分:1)

我有同样的问题,但我有另一个.sln工作正常。使用Project-&gt; Properties-&gt;进行工具处理后使它们看起来相同,没有任何效果。我打开了两个.vcxproj文件,并将工作版本的内容复制到我的非工作版本中。 (我注意到这两个文件的长度不同。非工作版本的长度大约为20行。)我刚刚将RootNameSpace更改为非工作版本的名称。我保存了非工作文件和presto!有效。

答案 10 :(得分:0)

对于有与#34相关的问题的人;错误C1083:无法打开源文件&#34;:

错误是由* .vcxproj文件中的设置引起的。可能是您通过文件资源管理器删除/移动了源文件,而不是Visual Studio&#34;解决方案资源管理器&#34;。因此,您的* .vcxproj文件已损坏。修复是手动更正* .vcxproj文件中的设置。

Visual Studio设置文件的工作方式

Visual Studio将解决方案的信息保存到文件中。此文件通常位于项目的解决方案目录中,扩展名为.sln,基本名称与解决方案名称相同,f.ex。:

  

NameOfSolution.sln

同样,项目的信息保存在一个文件中(每个项目都有自己的文件)。此文件的基本名称是项目名称,扩展名为.vcxproj,通常位于名为项目的子目录中,f.ex。:

  

NameOf1stProject / NameOf1stProject.vcxproj

     

NameOf2ndProject / NameOf2ndProject.vcxproj

* .sln和* .vcxproj文件都是文本文件。您可以使用记事本打开它们。

如何解决问题

  1. 查找负责您项目的* .vcxproj文件。

      

    如果您不知道它在哪里,请在记事本中打开解决方案的* .sln文件。搜索解决方案的名称。你会发现像:

    这样的行
    Project("{9AA9CEB8-8B4A-11D0-8D22-00B0C01AA943}") = "NameOf1stProject", "NameOf1stProject\NameOf1stProject.vcxproj", "{A8735D0A-25ED-4285-AB8F-AF578D8DB960}"
    
         

    &#34; NameOf1stProject \ NameOf1stProject.vcxproj &#34;是项目的* .vcxproj文件的位置。

  2. 通过文本编辑器(f.ex.Notepad)打开找到* .vcxproj文件。

  3. 搜索您正在努力争取的文件名。

      

    示例:如果您正在寻找&#34; RemovedFile.cpp &#34;,那么您应该找到以下行:

    <ClCompile Include="RemovedFile.cpp" />
    
  4. 删除该行。

  5. 如果您已打开Visual Studio,它会询问您是否应刷新解决方案 - 选择是。如果没有打开 - 只需开始使用它。

  6. 如有任何问题,请尝试重建解决方案(顶部横幅 - &gt; 构建 - &gt; 重建解决方案

  7. 就我而言,它有效。 30分钟试图修复,<1分钟修复。

答案 11 :(得分:0)

我遇到了同样的问题,但对我来说,问题是我使用Windows上的Bash(WSL)克隆存储库,然后使用VS进行编译。

一旦我删除克隆并使用Windows命令行(cmd.exe)克隆存储库,错误1083就消失了。

答案 12 :(得分:0)

这是由于未正确删除/删除文件引起的。转到解决方案资源管理器,选择您的解决方案,在左角,激活图标:显示所有文件。 (如果您已经删除了问题文件,请从回收站中将其还原) 选择问题文件,从解决方案资源管理器中删除并删除,您应该不会遇到此问题。并记住从现在开始以正确的方式进行操作。 这是在MS 2010上