Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

unresolved external symbol (error message)

[es] :: C/C++ programiranje :: unresolved external symbol (error message)

[ Pregleda: 2063 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

sanivr
Sanja Ristic
Student
Vranje

Član broj: 303492
Poruke: 39
95.180.177.*



+14 Profil

icon unresolved external symbol (error message)28.02.2017. u 15:58 - pre 86 meseci
Imam problem koi ne mogu resiti 2 dana (ne znam resiti :) ) Znaci kada pozovem funkciju vsFlip dobijam sledeci error koi iskreno ne znam sta znaci.

Error
Code:
Severity    Code    Description    Project    File    Line    Suppression State
Error    LNK2019    unresolved external symbol _vsFlip referenced in function "public: unsigned char * __thiscall FrameConverter::convert(class std::shared_ptr<unsigned char>)" (?convert@FrameConverter@@QAEPAEV?$shared_ptr@E@std@@@Z)    TrackerWrapper-jn    


klasa
Code:
#ifndef DAON_FACE_SDK_FRAMECONVERTER_H
#define DAON_FACE_SDK_FRAMECONVERTER_H

#include "WrapperOpenCV.h"
#include "dependencies\VisageSDK\include\VisageTracker.h"
#include <memory>

class FrameConverter {

public:
    void init(int width, int height, int nChannels, int orientation, int flip);
    unsigned char* convert(std::shared_ptr<unsigned char> imageData);

    FrameConverter() {
        width = 0;
        height = 0;
        orientation = 0;
        flip = 0;
        channels = 0;

        buffer = nullptr;
        bufferN = nullptr;
        bufferT = nullptr;
    };

    ~FrameConverter();

private:
    int width = 0;
    int height = 0;
    int orientation = 0;
    int flip = 0;
    int channels = 0;

    void YUV_NV21_TO_RGB(unsigned char* yuv, VsImage* buff, int width, int height);
    int clamp(int x);
    void YUV420toY(unsigned char* yuv, VsImage* buff, int width, int height);

    VsImage* buffer = nullptr;
    VsImage* bufferN = nullptr;
    VsImage* bufferT = nullptr;
};


Code:
CVAPI(void)  vsFlip( const VsArr* src, VsArr* dst VS_DEFAULT(NULL),
                     int flip_mode VS_DEFAULT(0));


znaci ovde gde god pozovem vsFlip ja dobiejem taj error pls za neki helpic :)
Code:
unsigned char* FrameConverter::convert(std::shared_ptr<unsigned char> imageData)
{
    //unsigned char *ret = (unsigned char*)bufferT->imageData; 
    //return ret;

    if (channels == 3) {
        YUV_NV21_TO_RGB(imageData.get(), buffer, width, height);
    } else {
        YUV420toY(imageData.get(), buffer, width, height);
        const VsArr* t;

        vsFlip(t, NULL, 0);
    }

    unsigned char *ret = nullptr;
    // deal with orientation
    switch(orientation){
        case 0: case 360:
            if (flip)
                vsFlip(buffer, bufferN, 1); 
            else
                vsCopy(buffer, bufferN);
            ret = (unsigned char*) bufferN->imageData;
            break;
        case 90:
            vsTranspose(buffer, bufferT);
            if (!flip) {
                vsFlip(bufferT, bufferT, 1);
            }
            ret = (unsigned char*) bufferT->imageData;
            break;
        case 180:
            if (flip)
                vsFlip(buffer, bufferN, 0);
            else
                vsFlip(buffer, bufferN, -1);
            ret = (unsigned char*) bufferN->imageData;
            break;
        case 270:
            vsTranspose(buffer, bufferT);
            if (flip) {
                vsFlip(bufferT, bufferT, -1);
            }
            else {
                vsFlip(bufferT, bufferT, 0);
            }
            ret = (unsigned char*) bufferT->imageData;
            break;
    }

    return ret;

}
 
Odgovor na temu

sanivr
Sanja Ristic
Student
Vranje

Član broj: 303492
Poruke: 39
95.180.177.*



+14 Profil

icon Re: unresolved external symbol (error message)28.02.2017. u 20:11 - pre 86 meseci
Otkrila sam da je problem nesto oko reference, ali gde je definicija za vsFlip tamo je i za ostale funkcije koje su gore u kod i koi prolaze, vsFlip je defirnirana u vs_core_core_c

Code:

CVAPI(void)  vsFlip( const VsArr* src, VsArr* dst VS_DEFAULT(NULL), flip_mode VS_DEFAULT(0));
#define vsMirror vsFlip

VSAPI(void)  vsTranspose( const VsArr* src, VsArr* dst );
#define vsT vsTranspose
 
Odgovor na temu

Branimir Maksimovic

Član broj: 64947
Poruke: 5534
c-bg-d-p1-76.bvcom.net.



+1064 Profil

icon Re: unresolved external symbol (error message)28.02.2017. u 20:34 - pre 86 meseci
vsFlip nije mangled verovatno u headeru pise extern "C" dok u implementaciji ne pise...
 
Odgovor na temu

sanivr
Sanja Ristic
Student
Vranje

Član broj: 303492
Poruke: 39
95.180.177.*



+14 Profil

icon Re: unresolved external symbol (error message)28.02.2017. u 21:27 - pre 86 meseci
Nisam bas toliko dobra :D ako sam dobro razumela gde je definirana vsFlip ima nesto ovakovo

Code:

#ifndef __VS_CORE_C_H__
#include "vs_core_types_c.h"
#define __VS_CORE_C_H__


#ifdef __cplusplus
extern "C" {
#endif


a gde pozivam funkciju nema? ako je to to stavila sam i tamo ama opet ista greska. Hvala ti na odgovoru
 
Odgovor na temu

Branimir Maksimovic

Član broj: 64947
Poruke: 5534
c-bg-d-p1-76.bvcom.net.



+1064 Profil

icon Re: unresolved external symbol (error message)28.02.2017. u 21:44 - pre 86 meseci
Tamo gde je funckija definisana nema... to je verovatno zato sto definicija treba da se iskompajlira sa C kompajlerom. Ili je bar tako predvidjeno...
 
Odgovor na temu

sanivr
Sanja Ristic
Student
Vranje

Član broj: 303492
Poruke: 39
95.180.177.*



+14 Profil

icon Re: unresolved external symbol (error message)28.02.2017. u 22:20 - pre 86 meseci
Ima i tamo ono sto sam kopirala je iz tog fajla :S
 
Odgovor na temu

Branimir Maksimovic

Član broj: 64947
Poruke: 5534
c-bg-d-p1-76.bvcom.net.



+1064 Profil

icon Re: unresolved external symbol (error message)01.03.2017. u 00:04 - pre 86 meseci
Nije. #ifndef __VS_CORE_C_H__ se stavlja u header... To definitivno nije c fajl...

edit: ako je c fajl cemu onda to? Mislim to je bug ocigledno....
 
Odgovor na temu

sanivr
Sanja Ristic
Student
Vranje

Član broj: 303492
Poruke: 39
95.180.177.*



+14 Profil

icon Re: unresolved external symbol (error message)01.03.2017. u 08:12 - pre 86 meseci
Krv mi popilo ovo :D Jedno pitanje kako moze da radi kada iskomentiram samo vsFlip, i kompajler proge a tamo ima funkcija koja je deklarirana na isto mesto (vsTranspose)? Jer mogu da okacim proekt pa da procesljamo taj fajl, a i oko linkera mozda i tamo nesta gresim nisam bas sigurna dali je i taj deo korektan molim te? Hvala ti

Edit: Tu je projekt

[Ovu poruku je menjao sanivr dana 01.03.2017. u 09:33 GMT+1]
 
Odgovor na temu

Branimir Maksimovic

Član broj: 64947
Poruke: 5534
c-bg-d-p1-76.bvcom.net.



+1064 Profil

icon Re: unresolved external symbol (error message)01.03.2017. u 19:32 - pre 86 meseci
Nije tu projekt. Downloaduje nesto sto se zove TrackerWrapper-jni.rar i fajl je prazan.
 
Odgovor na temu

sanivr
Sanja Ristic
Student
Vranje

Član broj: 303492
Poruke: 39
95.180.177.*



+14 Profil

icon Re: unresolved external symbol (error message)02.03.2017. u 12:03 - pre 86 meseci
Od jutra nesto pokusavam da uradim da ne bi vas gnjavila ali nista, citala na stacoverflow ali nemogu nista. Ne znam zasto ne radi tal link ali probaj ovaj molim te. Opet nije mi jasno kako moze one druge funkcije koje su u istom tom fajlu da rade a samo ona ne, kada sklonim svFlip onda proge sve iskompajlira t.e napravi dll sto znaci da linker, biblioteke i sl su dobro podeseni zar ne? Opet stvarno ti hvala na pomoci
 
Odgovor na temu

Branimir Maksimovic

Član broj: 64947
Poruke: 5534
c-bg-d-p1-76.bvcom.net.



+1064 Profil

icon Re: unresolved external symbol (error message)02.03.2017. u 13:35 - pre 86 meseci
U tim tvojim binary libovima nema definisano nigde vsFlip a ima vsTranspose....
 
Odgovor na temu

[es] :: C/C++ programiranje :: unresolved external symbol (error message)

[ Pregleda: 2063 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.