Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Merita un Termostat Smart pentru ...

Sfat achizitie MTB Devron Riddle

Problema mare cu parintii= nervi ...

switch microtik
 Permis categoria B la 17 ani

Sfaturi pentru pregatirea de eval...

Crapaturi placa

cum imi accesez dosarul electroni...
 Momentul Aprilie 1964

Sursa noua - zgomot ?

A fost lansat Ubuntu 24.04 LTS

Pareri apartament in zona Berceni?
 Free streaming SkyShowtime de la ...

Skoda Fabia 1.0 TSI (110 CP)- 19 ...

Mezina familiei, Merida BigNine

The Tattooist of Auschwitz (2024)
 

[CUM]Includ librariile OpenCV in fisierul .exe?

- - - - -
  • Please log in to reply
16 replies to this topic

#1
Cozzmy13

Cozzmy13

    Active Member

  • Grup: Members
  • Posts: 1,464
  • Înscris: 15.04.2014
Titlul spune totul.

Fac un proiect in C++ si OpenCV si nu ii dau de capat, vreau ca executabilul sa fie standalone.

Folosesc CodeBlocks.

Edited by Cozzmy13, 18 December 2014 - 10:05.


#2
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,238
  • Înscris: 24.02.2007
Folosesti build-ul static al bibliotecilor OpenCV.

#3
neagu_laurentiu

neagu_laurentiu

    Guru Member

  • Grup: Senior Members
  • Posts: 40,604
  • Înscris: 30.07.2003

View PostCozzmy13, on 18 decembrie 2014 - 09:58, said:

Folosesc CodeBlocks.
Ai compilat pentru MinGW sursele ? Fiindca default, compilat, vad ca vine numai pentru VC++ ori .lib de aici nu le poti folosi in GCC (MinGW).

#4
Cozzmy13

Cozzmy13

    Active Member

  • Grup: Members
  • Posts: 1,464
  • Înscris: 15.04.2014
Le-am compilat singur cu Cmake si apoi din Codeblocks am dat Build Target-Install.

#5
neagu_laurentiu

neagu_laurentiu

    Guru Member

  • Grup: Senior Members
  • Posts: 40,604
  • Înscris: 30.07.2003
Nu folosesc CodeBlocks, in Windows n-are haz, dar vezi mai intai cum se foloseste GCC-ul si bibliotecile ( http://forum.softped...ebui-sa-le-tie/ ) apoi gasesti tu prin setari in IDE cum sa transmiti acel parametru (si fisierele .o ori.a).

http://stackoverflow...with-codeblocks

Edited by neagu_laurentiu, 18 December 2014 - 15:11.


#6
Cozzmy13

Cozzmy13

    Active Member

  • Grup: Members
  • Posts: 1,464
  • Înscris: 15.04.2014
Librariile au extensia .dll.
Stiu ca era ceva de genul -static-libgcc.
Insa nu merge.
Cu librariile in folder porneste, insa da eroarea asta.
The procesure entry point ___gxx_personality_v0 could not be located in the dynamic link library libstdc++-6.dll,

Am gasit undeva pe net ca cica sa compilez in Release.

Edited by Cozzmy13, 18 December 2014 - 17:07.


#7
neagu_laurentiu

neagu_laurentiu

    Guru Member

  • Grup: Senior Members
  • Posts: 40,604
  • Înscris: 30.07.2003

View PostCozzmy13, on 18 decembrie 2014 - 16:37, said:

Librariile au extensia .dll.
Tu ai compilat dinamic biblioteca si nu static. Exact pe dos.

Edited by neagu_laurentiu, 18 December 2014 - 16:42.


#8
Cozzmy13

Cozzmy13

    Active Member

  • Grup: Members
  • Posts: 1,464
  • Înscris: 15.04.2014
Fisierele ce le-am pus in folder cu programul le-am luat din folderul original opencv si au extensia .dll fiindca asa spunea eroarea.
De compilat le-a compilat si si le-a pus singur Code::Blocks, nu stiu ce si in ce el si le-a facut.

Pe calculatorul meu merge cu .dll-urile puse in folder cu programul, pe altul, nu, dand eroarea de mai sus.

Edited by Cozzmy13, 18 December 2014 - 17:05.


#9
neagu_laurentiu

neagu_laurentiu

    Guru Member

  • Grup: Senior Members
  • Posts: 40,604
  • Înscris: 30.07.2003
Nu intelegi ca daca vorbim de .dll ai mers pe varianta dinamica. Nu pune codul in .exe. Si e normal sa-ti ruleze cand le pui langa .exe sau prin caile de cautare ale sistemului, asa functioneaza acestea.
Tu ai nevoie sa obtii .o sau .a si pe astea sa le dai in Code::Blocks ca sa-ti faca un .exe mare cu ele inglobate.

Fa mai intai un exemplu (o functie simpla ce aduna ceva intr-o biblioteca) cu ambele variante sa te lamuresti ce inseamna una si alta.

Edited by neagu_laurentiu, 18 December 2014 - 17:10.


#10
Cozzmy13

Cozzmy13

    Active Member

  • Grup: Members
  • Posts: 1,464
  • Înscris: 15.04.2014
O sa incerc cand ajung acasa.
Insa, stiu ca la Linker Options sunt puse toate librariile cu extensia .a, insa nu le inglobeaza...

Edited by Cozzmy13, 18 December 2014 - 17:11.


#11
neagu_laurentiu

neagu_laurentiu

    Guru Member

  • Grup: Senior Members
  • Posts: 40,604
  • Înscris: 30.07.2003

View PostCozzmy13, on 18 decembrie 2014 - 17:10, said:

Insa, stiu ca la Linker Options sunt puse toate librariile cu extensia .a, insa nu le inglobeaza...
Pai daca-s cu legare dinamica... Ce e in fisierul .a face diferenta, nu extensia in sine.

Edited by neagu_laurentiu, 18 December 2014 - 17:13.


#12
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,238
  • Înscris: 24.02.2007
.a-urile alea sunt .a-uri ce directioneaza spre .dll ca asa ai compilat OpenCV-ul.
Tie iti trebuie .a-uri ce inglobeaza continutul dll-urilor, le observi usor ca-s mult mai mari.

Iar eroarea aceea cu gxx_personality o rezolvi punand alaturi de .exe versiunea corecta a libstdc++-6.dll.

#13
Cozzmy13

Cozzmy13

    Active Member

  • Grup: Members
  • Posts: 1,464
  • Înscris: 15.04.2014
Aha, acum am priceput.
Greu cu librariile astea.

Si mai exact cum le compilez statice cu Cmake?

Edited by Cozzmy13, 18 December 2014 - 17:15.


#14
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,238
  • Înscris: 24.02.2007
Code::Blocks nu stie nimic ci face ce i se spune.

#15
Cozzmy13

Cozzmy13

    Active Member

  • Grup: Members
  • Posts: 1,464
  • Înscris: 15.04.2014

View Postdani.user, on 18 decembrie 2014 - 17:15, said:

Code::Blocks nu stie nimic ci face ce i se spune.

Rapid mai esti.
Vezi ca am editat.

Probabil imi scapa ceva.

Edited by Cozzmy13, 18 December 2014 - 17:30.


#16
neagu_laurentiu

neagu_laurentiu

    Guru Member

  • Grup: Senior Members
  • Posts: 40,604
  • Înscris: 30.07.2003

View PostCozzmy13, on 18 decembrie 2014 - 17:14, said:

Si mai exact cum le compilez statice cu Cmake?
cmake -DBUILD_SHARED_LIBS=OFF

#17
Cozzmy13

Cozzmy13

    Active Member

  • Grup: Members
  • Posts: 1,464
  • Înscris: 15.04.2014
Daca instalez tot asa, nu se vor creea conflicte?

View Postneagu_laurentiu, on 18 decembrie 2014 - 18:15, said:

cmake -DBUILD_SHARED_LIBS=OFF

In CMakeCache.txt?

Ok, am reusit, acum mai stau 80 de minute sa il instaleze.

Anunturi

Neurochirurgie minim invazivă Neurochirurgie minim invazivă

"Primum non nocere" este ideea ce a deschis drumul medicinei spre minim invaziv.

Avansul tehnologic extraordinar din ultimele decenii a permis dezvoltarea tuturor domeniilor medicinei. Microscopul operator, neuronavigația, tehnicile anestezice avansate permit intervenții chirurgicale tot mai precise, tot mai sigure. Neurochirurgia minim invazivă, sau prin "gaura cheii", oferă pacienților posibilitatea de a se opera cu riscuri minime, fie ele neurologice, infecțioase, medicale sau estetice.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate