Unresolved external symbol - v mé třídě – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Unresolved external symbol - v mé třídě – C / C++ – Fórum – Programujte.comUnresolved external symbol - v mé třídě – C / C++ – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
pawl
~ Anonymní uživatel
29 příspěvků
18. 10. 2009   #1
-
0
-

Ahoj,
používám knihovnu generovanou rozhraním IDL, jedná se o (OPC Server) pokud tento hlavičkový soubor používám pouze v "jednom" soubor tak je všechno v pořádku:

př:



///////////////////////////// subor opcmm.h
#pragma once

#include "resource.h"
#include "opc_h.h"

///////////////////////////// subor opcmm.cpp

#include "stdafx.h"
#include "opcmm.h"

// objekty z kinhovny opc_h.h
IMalloc *g_pIMalloc;
IOPCServer *g_pOPC; //interface of server object
IOPCItemMgt *g_pItemMgt; //interface of group object
OPCITEMRESULT *g_pItemResult; //special datatype for item
OPCHANDLE g_GrpSrvHandle;

v tomto přídě není žádný problém jemožno přistupovat ke všem objektům knihovny

Ale pokd vytvořím třídu a přidám do té třídy odkaz na knihovnu opcmm.h nebo opc_h.h je problém



//////////////// opcclient.h
#include "opcmm.h"

#pragma once

// COpcClient command target

class COpcClient : public CObject
{
public:
COpcClient();
virtual ~COpcClient();
bool connect(CString opcname);
CAtlArray<CString> items;
private:
bool mComCreaed;
IMalloc *g_pIMalloc;
IOPCServer *g_pOPC; //interface of server object
IOPCItemMgt *g_pItemMgt; //interface of group object
OPCITEMRESULT *g_pItemResult; //special datatype for item
OPCHANDLE g_GrpSrvHandle;
};
//////////////// opcclient.cpp
/ opccobj.cpp : implementation file
//

#include "stdafx.h"
#include "opcClinet.h"
#include "opcmm.h"

// opccobj

COpcClient::COpcClient()
{
HRESULT r1;

// General COM initialization...
g_pIMalloc =NULL;
g_pOPC = NULL;
g_pItemMgt =NULL;
g_pItemResult =NULL;
g_GrpSrvHandle = 0;

items.RemoveAll();

r1 = CoInitialize(NULL);
_ASSERT(r1);
.
.
.


Dostane se mě toto výpisu
OpcClient.obj : error LNK2001: unresolved external symbol _IID_IOPCServer

C:\Zdroje\CPP_Visual_moje\opcmm\Debug\opcmm.exe : fatal error LNK1120: 1 unresolved externals


Nahlásit jako SPAM
IP: 77.48.235.–
Reklama
Reklama
dannyk0
Věrný člen
18. 10. 2009   #2
-
0
-

Nechybi ti includnout nejaka libka k tomu opc?

Nahlásit jako SPAM
IP: 85.135.97.–
Jedu v c++,c#,assembler,ASP.NET,PHP,databaze,bezpecnost softwaru[br] -----------------------------------------------------------[br] Muj blog o programovani,hudbe a vsem moznem,co najdu na netu :) [br] http://dannyk.aspone.cz[br] -----------------------------------------------------------[br] Na foru mam nejake prispevky pod nickem Master,tak jen pro upresneni :)
Martin
~ Anonymní uživatel
1382 příspěvků
26. 10. 2009   #3
-
0
-

NTo pawl :

1. Mas #include "opc_i.c"?

2. Ak ano:
Niekde v zdrojaku by som mal mat:
#include "opc_i.c"

v pripade, ze mas #include "opc_h.h" za "opc_i.c", tak to vypisuje presne taku chybu, aku uvadzas.

Riesenie:
zmen poradie include suborov opc*:
#include "opc_h.h"
#include "opc_i.c" ( tieto subory mozu byt niekde s tvojich hdr ( stdafx.h? ), hladaj... )

Napis, ako si dopadol ( popripade posli src, pozriem sa na to ).
/ odpoved do fora ( niekolko dni to tu budem monitorovat :)

Nahlásit jako SPAM
IP: 78.99.98.–
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, 114 hostů

Moderátoři diskuze

 

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