Problém d dllkom – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Problém d dllkom – C / C++ – Fórum – Programujte.comProblém d dllkom – C / C++ – Fórum – Programujte.com

 

Grungy0
Super člen
6. 6. 2011   #1
-
0
-

Ahojte, bavím sa z dllkami, ale nejak to neviem sfunkčniť do univerzálnej podoby ani podľa návodov.

Toto mi ide v pohode:

//kniznica.h

#define MY_DLL extern "C" __declspec(dllexport)
MY_DLL int suma(int paA, int paB);

//kniznica.cpp
#include "stdafx.h"
#include "kniznica.h"

int suma(int paA, int paB)
{
return paA + paB;
}

//skusobnyprogram.cpp
#include "stdafx.h"
#include <iostream>

extern "C" __declspec(dllimport) int suma(int paA, int paB);

using namespace std;

int main()
{
cout<<"scitame: 2 + 3 = "<<suma(2,3);
getchar();
return 0;
}


keď to však zmením takto s použitím preprocesoru tak to nejde:
//tento kod nefunguje

//kniznica.h
#ifndef KNIZNICA_EXPORTS
#define MY_DLL extern "C" __declspec(dllimport)
#else
#define MY_DLL extern "C" __declspec(dllexport)
#endif
MY_DLL int suma(int paA, int paB);

//kniznica.cpp
#include "stdafx.h"
#include "kniznica.h"

int suma(int paA, int paB)
{
return paA + paB;
}

//skusobnyprogram.cpp
#include "stdafx.h"
#include <iostream>

using namespace std;

int main()
{
cout<<"scitame: 2 + 3 = "<<suma(2,3);
getchar();
return 0;
}

neskompiluje s chybou error C3861: 'suma': identifier not found.
Neviete v čom je chyba? Samozrejme KNIZNICA_EXPORTS mám definované.

Nahlásit jako SPAM
IP: 158.193.84.–
Prvý náznak hlúposti, je pocit geniality.
_tomas
~ Anonymní uživatel
22 příspěvků
7. 6. 2011   #2
-
0
-

Ahoj,
v skusobnyprogram.cpp ti chýba

#include "kniznica.h " 

V 1. prípade máš v skusobnyrpogram.cpp priamo vložené
extern "C" __declspec(dllimport) int suma(int paA, int paB);

V 2. to nemáš

Nahlásit jako SPAM
IP: 46.150.222.–
Grungy0
Super člen
7. 6. 2011   #3
-
0
-

To _tomas : skúšal som, ale asi nevie kde ju hľadať.
error C1083: Cannot open include file: 'kniznica.h': No such file or directory

Nahlásit jako SPAM
IP: 158.193.84.–
Prvý náznak hlúposti, je pocit geniality.
Anonymní uživatel
~ Anonymní uživatel
0 příspěvků
7. 6. 2011   #4
-
0
-

To Grungy : kniznica.h daj do zložky kde máš skusobnyprogram.cpp, alebo nastav kompilátoru kde ho ma hľadať( include path) ( myslím že potom budeš musie použiť #include <kmiynica.h> )

Nahlásit jako SPAM
IP: 46.150.222.–
_tomas
~ Anonymní uživatel
22 příspěvků
7. 6. 2011   #5
-
0
-

To Anonymní uživatel : <kniznica.h>

Nahlásit jako SPAM
IP: 46.150.222.–
Grungy0
Super člen
7. 6. 2011   #6
-
0
-

To _tomas : Aha to ma nenapadlo, už to ide, ďakujem za pomoc.

Nahlásit jako SPAM
IP: 158.193.84.–
Prvý náznak hlúposti, je pocit geniality.
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 6 hostů

Podobná vlákna

Problem — založil Ghosta

Problém — založil pali6

Problém v C — založil Robin

Problem s C++ — založil ower

Problem — založil jurec

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý