我正在尝试使用某些函数#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,我删除了它!那么我有没有办法重置项目并重新编译以便程序不会查找它?我已经尝试重建和清除 - >建立项目
答案 0 :(得分:12)
当我遇到与VS Express类似的问题时,我不得不打开.vcxproj文件(这只是XML),并删除了违规行为 < ClInclude Include =" FILEPATHANDNAME" >标签
答案 1 :(得分:8)
好的,我不知道我是怎么做的但是我仍然会尝试写下我做的事情。
这正是我所做的,为我工作。我认为要做的主要是清理,保存,关闭,打开,构建,但我不确定。
答案 2 :(得分:7)
在解决方案资源管理器中,您可以选择/取消选择“显示所有文件”选项。 尝试这两个选项,并确保排除的文件不包含在项目中。
这就是我所拥有的: 我使用“显示所有文件”选项(这样您就可以看到项目目录中的所有文件)。我从项目中排除了一个.cpp文件。但是,它表现为此文件在项目中。
这就是我设法解决它的方法: 我关闭了“显示所有文件”,看到这个文件仍然属于项目!所以我再次排除了这个文件。
如我所见,这是一个已知问题。
这对我有用,希望它对其他人有用。
答案 3 :(得分:3)
尝试详细构建构建器输出以查看正在进行的操作的确切步骤。我想,你使用Visual Studio,对吗?
构建器转储应该能够更好地了解您当前的设置(我怀疑您对该文件的引用次数超出预期)
答案 4 :(得分:3)
这件事发生在我身上,因为我从IDE内部重命名了文件夹。以上解决方案均无效。解决这个问题的唯一方法是在记事本中打开vcproj,你应该在<ItemGroup>
中看到有问题的文件。只需删除这些行。
答案 5 :(得分:3)
此处的许多解决方案无效
全面保护方法:
答案 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文件都是文本文件。您可以使用记事本打开它们。
如何解决问题
查找负责您项目的* .vcxproj文件。
如果您不知道它在哪里,请在记事本中打开解决方案的* .sln文件。搜索解决方案的名称。你会发现像:
这样的行Project("{9AA9CEB8-8B4A-11D0-8D22-00B0C01AA943}") = "NameOf1stProject", "NameOf1stProject\NameOf1stProject.vcxproj", "{A8735D0A-25ED-4285-AB8F-AF578D8DB960}"
&#34; NameOf1stProject \ NameOf1stProject.vcxproj &#34;是项目的* .vcxproj文件的位置。
通过文本编辑器(f.ex.Notepad)打开找到* .vcxproj文件。
搜索您正在努力争取的文件名。
示例:如果您正在寻找&#34; RemovedFile.cpp &#34;,那么您应该找到以下行:
<ClCompile Include="RemovedFile.cpp" />
删除该行。
如果您已打开Visual Studio,它会询问您是否应刷新解决方案 - 选择是。如果没有打开 - 只需开始使用它。
如有任何问题,请尝试重建解决方案(顶部横幅 - &gt; 构建 - &gt; 重建解决方案)
就我而言,它有效。 30分钟试图修复,<1分钟修复。
答案 11 :(得分:0)
我遇到了同样的问题,但对我来说,问题是我使用Windows上的Bash(WSL)克隆存储库,然后使用VS进行编译。
一旦我删除克隆并使用Windows命令行(cmd.exe)克隆存储库,错误1083就消失了。
答案 12 :(得分:0)
这是由于未正确删除/删除文件引起的。转到解决方案资源管理器,选择您的解决方案,在左角,激活图标:显示所有文件。 (如果您已经删除了问题文件,请从回收站中将其还原) 选择问题文件,从解决方案资源管理器中删除并删除,您应该不会遇到此问题。并记住从现在开始以正确的方式进行操作。 这是在MS 2010上