web-gelistirme-sc.com

Visual c ++ 'iostream' dosyasını içeremez

Ben c ++ için yeniyim. Daha yeni başladım! Visual c ++ 2010 Express sürümünde bir kod denedim ama aşağıdaki kod hata iletisini aldım.

------ Derlemeye başladı: Proje: abc, Konfigürasyon: Debug Win32 ------
 ugo.cpp 
 c:\users\castle\documents\visual studio 2010\projects\abc\abc\ugo.cpp (3): önemli hata C1083: Dosya açılamıyor: 'iostream': Böyle bir dosya veya dizin yok 
 ========== Yapı: 0 başarılı, 1 başarısız, 0 güncel, 0 atlandı ========== 

Kod bu

// first.cpp -- displays a message


#include <iostream>   // a PREPROCESSOR directive

int main(void)        // function header
{             // start of a function body
  using namespace std;
  cout << "Come up and C++ me sometime.\n";  // message
  // start a new line
  cout << "Here is the total: 1000.00\n";
  cout << "Here we go!\n";
  return 0;
}
16
jamesbond

Değiştirmek 

#include <iostream.h>

ile

using namespace std;

#include <iostream>
11

Kontrol etmeniz gereken bazı şeyler:

  • VS sürümünüzdeki include klasörünü kontrol edin (in "C:\Program Files\Microsoft Visual Studio xx.x\VC\include", dahil ettiğiniz dosyayı kontrol edin, iostream, orada olduğundan emin olun).

  • Projelerinizi kontrol edin <Project Name> > Properties > Configuration Properties > VC++ Directories > Include Directories içindeki Dizinleri Dahil Edin - (şöyle görünmeli:$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSdkDir)include;$(FrameworkSDKDir)\include;)

  • Bu kod için doğru projeyi seçtiğinizden emin olun (File > New > Project > Visual C++ > Win32 Console Application)

  • Kod dosyalarınızda hiçbir yerde <iostream.h> olmadığından emin olun, VS bunu desteklemez (aynı projede , diğer kod dosyalarınızı kontrol edin, .cpp ve .h dosyalarını<iostream.h>için kontrol edin ve kaldırın.).

  • Project kod dosyalarınızda birden fazla main() işlevinin olmadığından emin olun (aynı projede , diğer kod dosyalarınızı kontrol edin,main()function için .cpp ve .h dosyaları ve çıkarın veya başka bir adla değiştirin).

Birlikte oluşturmayı deneyebileceğiniz bazı şeyler:

  • using namespace std; işlevini main() işlevinizden hariç tutun ve onu yerleştirme yönergesinden sonra
  • std::cout olmadan using namespace std; kullanın.
8
Secko

Bu aynı sorunu VS 2015 dosyasında da yaşadım. VS 2010 gibi görünür ve daha sonra tüm projelerinize #include "stdafx.h" eklemeniz gerekir.

#include "stdafx.h"
#include <iostream>
using namespace std;

Yukarıdaki benim için çalıştı. Aşağıdaki yapmadı:

#include <iostream>
using namespace std;

Bu da başarısız oldu:

#include <iostream>
using namespace std;
#include "stdafx.h"
3
babel17

Özellikler-> VC++ Dizinleri-> Dizinleri Dahil Et içinde $ (IncludePath) öğesinden büyük olasılıkla eksiksiniz. Bunu eklemek, akış akışını ve diğerlerini tekrar görünür hale getirmelidir. Programınızı ayarlarken muhtemelen yanlışlıkla sildiniz.

2
SpicyWeenie

Visual Studio 2015'te bir 'Boş' konsol uygulaması oluşturduğumda bu hatayı aldım. 'Boş' kutusunu işaretlenmemiş halde bırakıp uygulamayı gerekli tüm kitaplıkları ekledim.

1
jgdev

Derleyicinizin ve etrafına kurulan kaynakların bir şekilde eksik olması mümkündür. Derleyicinizi yeniden kurmanızı tavsiye ederim: ondan sonra çalışması gerekir.

1
Cosine

Dahil etme dizinlerinize VC++ project özellik sayfasında -> Konfigürasyon Özellikleri -> VC++ dizinleri-> Dizinleri dahil et seçeneğinde doğru referans veriliyorsa. . "C:\Program Dosyaları (x86)\Microsoft Visual Studio 14.0\VC\include"

using namespace std;
#include <iostream> 

Bu benim için yaptı.

0
Dave

Microsoft Visual Studio, yükleyiciyi kullanırken komiktir. Visual Studio'da, dekstop geliştirme altındaki clr seçenekleri gibi, c keskin uygulamalar yerine c ++ ile daha fazla c ++ yapmak için .netframework (biraz) bypass etmek için birçok seçenek onaylamanız gerekir yükleyici .... fark c ++ win32 konsol projesi veya bir c ++ CLR konsol projesidir. Öyleyse fark nedir? CLR'nin içerdiği tüm dosyaları listeleyeceğim ama çoğu iyi c ++ çekirdeği linux'da olduğundan ... bu yüzden CLR birçok pencereyi atlamanıza izin veriyor. Netframework b/c visual studio gerçekten sizin içindi. C'deki uygulamaları keskinleştirmek için.

Heres bir C++ win32 konsol projesi!

#include "stdafx.h"
#include <iostream>
using namespace std;
int main( )
{
cout<<"Hello World"<<endl;
return 0;
}

Şimdi heres c ++ CLR konsol projesi!

#include "stdafx.h"

using namespace System;

int main(array<System::String ^> ^args)
{
Console::WriteLine("Hello World");
return 0;
}

Her iki program da aynı şeyi yapıyor ... CLR sadece daha fazla çerçeveli sınıf aşırı yükleme metodolojisine benziyor. https://msdn.Microsoft.com/en-us/library/2e6a4at9.aspx

hatalardan kaçınmak için hata ayıklamaktan öğreneceğiniz diğer şeyler

#ifdef _MRC_VER
#define _CRT_SECURE_NO_WARNINGS
#endif
0
samantha

küçük programlar için hızlı düzeltme:

ekle: #include <cstdlib>

0
Stanley