Duyuruyu Kapat
Facebook Gözat
Twitter Gözat

Precompiled header hatası

Konu, 'C / C++' kısmında C.K.M tarafından paylaşıldı.

  1. C.K.M

    C.K.M Yeni Üye

    Kayıt:
    4 Ocak 2017
    Mesajlar:
    1
    Beğenilen Mesajlar:
    0
    Şehir:
    İzmir
    #include <cstdint> #include <string> #include <windows.h> #define X3_NOT_INITIALIZED -536805375 typedef int32_t(__stdcall *t_x3_Dispatch)(OUT void *Function, IN uint32_t Type); static t_x3_Dispatch o_x3_Dispatch = nullptr; void __stdcall DllMain() { // add here your code } __declspec(dllexport) int32_t __stdcall x3_1(void *FunctionAddress, uint32_t Type) { if (o_x3_Dispatch == nullptr) { std::string ModulePath; ModulePath.resize(MAX_PATH); if (!GetModuleFileNameA(NULL, const_cast<LPSTR>(ModulePath.data()), MAX_PATH)) { MessageBoxA(0, "GetModuleFileNameA failed!", "Error", 0); return X3_NOT_INITIALIZED; } std::string S4_Folder = ModulePath.substr(0, ModulePath.find_last_of("\\")); S4_Folder += "\\xigncode\\x3.dummy"; HMODULE hX3 = LoadLibraryA(S4_Folder.c_str()); if (hX3 == nullptr) { MessageBoxA(0, "LoadLibraryA failed!", "Error", 0); return X3_NOT_INITIALIZED; } o_x3_Dispatch = reinterpret_cast<t_x3_Dispatch>(GetProcAddress(hX3, reinterpret_cast<LPCSTR>(1))); if (o_x3_Dispatch == nullptr) { MessageBoxA(0, "GetProcAddress failed!", "Error", 0); return X3_NOT_INITIALIZED; } DllMain(); } return o_x3_Dispatch(FunctionAddress, Type); }




    [​IMG]

    Virtual'de c++ olarak dll olarak açtım yapıştırdım build dedim fakat yukarıda ki ssdeki hatayı verdi pek fazla anlamıyorum bu c++'dan zaten yardımcı olabilecek arkadaş var mı?
     
  2. DeepSoMania

    DeepSoMania Yeni Üye

    Kayıt:
    20 Mart 2009
    Mesajlar:
    14
    Beğenilen Mesajlar:
    6
    Meslek:
    Senior Developer
    Şehir:
    Münster
    Merhaba,

    sorduğun soruyu anlamaya çalışıyorum ama beceremedim. Ne tip bir proje açtın, hangi IDE'yi ve İşletim Sistemini kullanıyorsun, "dll olarak" açtım derken ne demek istedin.. ?? Ve son olarak; ne yapmaya çalışırken ne yaptın da bu hatayı aldın ?

    C/C++'da dll oluşturmanın farklı yolları da vardır. Projen hakkında bilgi vermesende, yapmaya çalıştığın şey hakkında bilgi verirsen sanırım diğer üye arkadaşlarım da olmak üzere yardımcı olabiliriz.

    Saygılarımla.
     
  3. evasion

    evasion Yeni Üye

    Kayıt:
    29 Ocak 2017
    Mesajlar:
    3
    Beğenilen Mesajlar:
    0
    Şehir:
    Ankara
    sanırım stdafx.h headerından bir function kullanmışsın fakat programın başında include etmemişsin. #include <stdafx.h> eklersen düzelecektir.
     
  4. Furkan Onka Uğur

    Furkan Onka Uğur Moderatör Yetkili Kişi

    Kayıt:
    12 Eylül 2008
    Mesajlar:
    3,712
    Beğenilen Mesajlar:
    48
    Şehir:
    Ankara
    Proje precompiled header seçeneğiyle oluşturulmuş. stdafx.h başlık dosyasını include ederek ya da proje seçeneklerinden precompiled header seçeneğini iptal ederek çözebilirsiniz.

    Başlığı düzgün yazmaya özen gösterelim.