C/C++ C++/CLI projede include <windows.h> hata veriyor

DryreL

Megapat
Katılım
22 Mayıs 2015
Mesajlar
852
Çözümler
5
Yer
İstanbul/Köln
Daha fazla  
Cinsiyet
Erkek
Meslek
Dijital Oyun Tasarımı
Merhabalar,
Boş bir C++/CLI projesi oluşturdum, Windows Form kullanılacak.

#include <windows.h> eklediğim gibi aşağıdaki hata oluyor:
1703756450235.png


Kaldırdığımda sorun çözülüyor:
1703756237700.png


WINAPI kullanmam gerektiği için bu header'a ihtiyacım var.

En basitinden kullanıcı adı çekme kodunu bu header olmadan çalıştıramıyorum.
Kod:
std::string getUserName() {
    char username[UNLEN + 1];
    DWORD size = UNLEN + 1;

    if (GetUserNameA(username, &size)) {
        return std::string(username);
    }
    else {
        // Return an empty string or handle the error as appropriate for your application
        std::cerr << "Error getting username. Error code: " << GetLastError() << std::endl;
        return std::string();
    }
}

Şimdiden teşekkürler.
 
hata aldığın kodlarda main girişini nasıl yazıyorsun?
WindowsForm oluşturulmuş boş bir proje.

Kod:
Kod:
#include "Form_Homepage.h"

using namespace System;
using namespace System::Windows::Forms;

[STAThreadAttribute]
int main(array<String^>^ args)
{
    Application::EnableVisualStyles();
    Application::SetCompatibleTextRenderingDefault(false);
    striXanzCSGOHack::Form_Homepage form;
    Application::Run(% form);
;    return 0;
}
 
main girişini bu şekilde değiştirmeyi dener misin?

C++:
int APIENTRY WinMain(HINSTANCE hInst, HINSTANCE hInstPrev, PSTR cmdline, int cmdshow)
{

}

.NET yerine MFC kullanabilirsin bu arada, native C++ olduğu için sorun yaşamazsın.
 
main girişini bu şekilde değiştirmeyi dener misin?

C++:
int APIENTRY WinMain(HINSTANCE hInst, HINSTANCE hInstPrev, PSTR cmdline, int cmdshow)
{

}

.NET yerine MFC kullanabilirsin bu arada, native C++ olduğu için sorun yaşamazsın.
StackOverflow'da MFC'nin çok eski olduğunu belirtmişler. O nedenle .NET'te kalabilirim diye düşünüyorum ama en temel özellikte compile hatası almam beni mahvediyor.

Başka header ve cpp oluşturdum, #include <windows.h> ekleyince yine hata veriyor. Ama main fonksiyonu yok, kendi fonksiyonlarımı oluşturmuştum. Bu verdiğiniz kodu eklemek yani boş bir main çözer mi?
 
StackOverflow'da MFC'nin çok eski olduğunu belirtmişler. O nedenle .NET'te kalabilirim diye düşünüyorum ama en temel özellikte compile hatası almam beni mahvediyor.

Başka header ve cpp oluşturdum, #include <windows.h> ekleyince yine hata veriyor. Ama main fonksiyonu yok, kendi fonksiyonlarımı oluşturmuştum. Bu verdiğiniz kodu eklemek yani boş bir main çözer mi?

Emin değilim, bunun dışında benzer sorun yaşayanlar projenin hedef .NET versiyonunu değiştirerek çözmüşler.

Modern bir gui tasarımına ihtiyacın varsa qt ve gtk css desteği veriyor, bunları da kullanabilirsin.
 

Technopat Haberler

Yeni konular

Geri
Yukarı