Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Hardkodirani path do .pdb-a u .obj file-ovima (warning LNK4204)

3 views
Skip to first unread message

Chupo

unread,
Jul 6, 2015, 9:01:02 PM7/6/15
to
Isprobavam neke stare C graficke algoritme iz devedesetih dok se je jos
koristio BGI driver pa sam umjesto DOSBox-a ili virtualnog DOS-a i
Turbo C++ odlucio koristiti Visual Studio i WinBGIm:

http://www.cs.colorado.edu/~main/bgi/visual/

(tu sam skinuo BGI2008.zip u kojem je solution s library-jem za VS2008)

Compile nize navedenog primjera prolazi bez greske i ispravno se nacrta
kruznica ali se za svaki .obj ispise warning tipa:

warning LNK4204: '...path...\BGI\bgi\Debug\vc90.pdb' is missing
debugging information for referencing module; linking object as if no
debug info

Koliko vidim, path do .pdb file-a je u .obj file-ovima hardkodiran kao:

c:\Users\main\Documents\Visual Studio 2008\Projects\bgi\Debug\vc90.pdb

Na tom mjestu kod mene, naravno, nema niceg (kod mene je project folder
na H: disku) pa je to uzrok niza upozorenja. Nakon sta na niti jedan od
s Google-om pronadjenih nacina nisam uspio maknuti warning-e sam na
kraju na C: disku slozio foldere tako da path do vc90.pdb file-a
odgovara ovome koji je upisan u .pbj file-ove ali upozorenja i dalje
ostaju :-/ Clean, Rebuild All, brisanje Debug folder-a niti 'rjesenja'
tipa:

http://tinyurl.com/pbra2mx

http://tinyurl.com/os4f2k4

koja sam uspio naci takodjer nije/nisu bilo/bila od nikakve koristi.

Da li je jedino rjesenje .obj-ove kreirati iz source-ova pa da se u
njih upisu informacije koje odgovaraju environment-u na kojem ce se
library i koristiti ili ipak postoji neka mogucnost da se (kako je i
zamisljeno) na *raznim* kompjuterima koriste gotovi .obj file-ovi?
--
Let There Be Light
Custom LED driveri prema specifikacijama
http://tinyurl.com/customleddriver

Chupo

Bruno Babic

unread,
Jul 7, 2015, 5:30:02 AM7/7/15
to
On 7.7.2015. 2:58, Chupo wrote:
> warning LNK4204: '...path...\BGI\bgi\Debug\vc90.pdb' is missing
> debugging information for referencing module; linking object as if no
> debug info

Ti svoj program pokreces u debug modu, a predkompajlirani library nema
potrebne debug informacije (tj. nisu tamo gdje ih ocekuje).

Dakle, ili ignoriraj warning ili skompajliraj library iz sourcea.

--
bbabic(a)globalnet.hr
2b||!2b?

Chupo

unread,
Jul 7, 2015, 6:01:02 AM7/7/15
to
In article <mng5ps$d6s$1...@ls237.t-com.hr>, Bruno Babic <a@b.c> says...
> Ti svoj program pokreces u debug modu, a predkompajlirani library nema
> potrebne debug informacije (tj. nisu tamo gdje ih ocekuje).
>
> Dakle, ili ignoriraj warning ili skompajliraj library iz sourcea.
>

Pokusavam ali mi je jos uvijek ostalo 18 error-a. Skinuo sam source s:

http://www.cs.colorado.edu/~main/bgi/source/

Jedna je greska bila ocigledna, u liniji:

int left=0, int right=0, int right=INT_MAX, int bottom=INT_MAX,

treba umjesto

int right=0

staviti

int top=0

Sad su jos ostale greske:

Dvije tipa:

error C2955: 'std::basic_ostringstream' : use of class template
requires template argument list ...path...\_isprobavanje\bgi\my\my
\bgiout.cxx

i jedna:

error C2512: 'BGIout' : no appropriate default constructor available
...path...\_isprobavanje\BGI\my\my\bgiout.cxx

a ostale su tipa C2664 i C2440: 'cannot convert from ... to ...'.

Ovdje:

http://tinyurl.com/p6xtlrl

pise da je source za mingw32 a nigdje ne mogu naci source od kojeg je
nastao VS2008 solution BGI2008.zip s:

http://www.cs.colorado.edu/~main/bgi/visual/

niti source kojeg sam skinuo uspijevam prepraviti a da proradi u Visual
Studiu 2008 :-/

Da li je moguce da nije niti postojao source za VS nego je samo kreiran
solution pa su u njega ubaceni .obj file-ovi koje je kreirao drugi
compiler?

Bruno Babic

unread,
Jul 7, 2015, 8:30:02 AM7/7/15
to
On 7.7.2015. 11:46, Chupo wrote:
> error C2955: 'std::basic_ostringstream' : use of class template
> requires template argument list ...path...\_isprobavanje\bgi\my\my
> \bgiout.cxx

Ovo zvuci kao da ti negdje fali <T> uz neku metodu.

> error C2512: 'BGIout' : no appropriate default constructor available
> ...path...\_isprobavanje\BGI\my\my\bgiout.cxx

Ovo zvuci kao da ti fali prazan konstruktor, a npr. deklariras nesto sto
ima "neprazan" konstruktor unutar druge klase.

> Da li je moguce da nije niti postojao source za VS nego je samo kreiran
> solution pa su u njega ubaceni .obj file-ovi koje je kreirao drugi
> compiler?

Moguce je, cak je i vrlo vjerojatno da je bilo upravo tako.

Ja bih krenuo sa mingw32, cisto da vidim da se da sve skompajlirati
onako kako je zamisljeno, a tek bih onda pokusao napraviti VS projekt.

--
bbabic(a)globalnet.hr
2b||!2b?

Chupo

unread,
Jul 7, 2015, 9:01:02 AM7/7/15
to
In article <mngf6i$i3f$1...@ls237.t-com.hr>, Bruno Babic <a@b.c> says...
> Moguce je, cak je i vrlo vjerojatno da je bilo upravo tako.
>
> Ja bih krenuo sa mingw32, cisto da vidim da se da sve skompajlirati
> onako kako je zamisljeno, a tek bih onda pokusao napraviti VS projekt.
>

Probacu to. U medjuvremenu sam nasao:

http://openbgi.sourceforge.net/

i compile tog library-ja radi u VS. Source sam skinuo preko zelenog
gumba na:

http://sourceforge.net/projects/openbgi/

U VS sam napravio empty console app u kojeg sam s Add > New Item dodao
prazan main.c i s Add > Existing Item sve skinute file-ove. U main.c
sam onda kopirao primjere iz foldera 'samples' i compiler prijavljuje
sljedeca upozorenja:

http://pastebin.com/xR3fkyVX

ali sve radi OK. Znas mozda da li se moze promijeniti nesta u
konfiguraciji projetka pa da se sve scompile-ira bez upozorenja?

BTW, zbog cega je u sample-ovima header include-an s:

#include <graphics.h>

ko da je sistemski a ne s

#include "graphics.h" tako da to svaki put moram mijenjati?

Bruno Babic

unread,
Jul 7, 2015, 10:01:02 AM7/7/15
to
On 7.7.2015. 14:41, Chupo wrote:
> ali sve radi OK. Znas mozda da li se moze promijeniti nesta u
> konfiguraciji projetka pa da se sve scompile-ira bez upozorenja?

Najcesci problem ovih upozorenja na foru char* to nesto je da ti projekt
ima postavljen pogresan character set. Provjeri u postavkama projekta,
General - Character Set.

> BTW, zbog cega je u sample-ovima header include-an s:
>
> #include<graphics.h>
>
> ko da je sistemski a ne s
>
> #include "graphics.h" tako da to svaki put moram mijenjati?

Najvjerojatnije autor ima dodan taj neki path iz projekta u common
include path i onda mu to radi bez problema.

--
bbabic(a)globalnet.hr
2b||!2b?

Chupo

unread,
Jul 7, 2015, 10:30:02 AM7/7/15
to
In article <mngl4u$kko$1...@ls237.t-com.hr>, Bruno Babic <a@b.c> says...
> Najcesci problem ovih upozorenja na foru char* to nesto je da ti projekt
> ima postavljen pogresan character set. Provjeri u postavkama projekta,
> General - Character Set.
>

Bilo je na Unicode, kad stavim na Multi-Byte onda ima duplo manje
upozorenja:

http://pastebin.com/rKXMbaem

Sad kad sam promijenio encoding nakon pokretanja programa u prozorskoj
traci pise 'Graphics' a prije su bile kockice ali je ipak ostala jos
hrpa upozorenja.

> > BTW, zbog cega je u sample-ovima header include-an s:
> >
> > #include<graphics.h>
> >
> > ko da je sistemski a ne s
> >
> > #include "graphics.h" tako da to svaki put moram mijenjati?
>
> Najvjerojatnije autor ima dodan taj neki path iz projekta u common
> include path i onda mu to radi bez problema.
>

Cudi me da je na Sourceforge library objavljen u takvom obliku koji
ovisi o pojedinacnoj konfiguraciji include path-a :-/

Bruno Babic

unread,
Jul 8, 2015, 6:01:02 AM7/8/15
to
On 7.7.2015. 16:12, Chupo wrote:
> Bilo je na Unicode, kad stavim na Multi-Byte onda ima duplo manje
> upozorenja:

Stavi na "not set", to bi bio onaj nekakav stari default gdje je char char.

--
bbabic(a)globalnet.hr
2b||!2b?

Chupo

unread,
Jul 8, 2015, 7:30:01 AM7/8/15
to
In article <mnis51$m1t$1...@ls237.t-com.hr>, Bruno Babic <a@b.c> says...
> Stavi na "not set", to bi bio onaj nekakav stari default gdje je char char.
>

Rezultat je isti kao i s Multi-Byte. Ali sad malo gledam, to se sve
(vjerojatno) moze rijesiti uz koristenje casting-a i dodavanjem jos par
definicija.

Sta se tice onog prvog library-a od kojeg imam .obj file-ove a source
ne mogu scompile-irati s VS - da li se moze nekako napraviti suppress
samo onih warning-a koji se odnose na te .obj file-ove a da za warnings
rade za sve sta cu ja dalje napisati?

Cini se da je projekt za VS kreiran tako da je u prazan VS projekt samo
pod Additional linker options dodano:

obj/bgiout.obj obj/dibutil.obj obj/drawing.obj obj/file.obj
obj/misc.obj obj/mouse.obj obj/palette.obj obj/text.obj obj/winbgi.obj
obj/winthread.obj

Cini se da taj prvi library ima dosta vise dodatnih funkcija.

Bruno Babic

unread,
Jul 8, 2015, 12:30:03 PM7/8/15
to
On 8.7.2015. 13:02, Chupo wrote:
> Sta se tice onog prvog library-a od kojeg imam .obj file-ove a source
> ne mogu scompile-irati s VS - da li se moze nekako napraviti suppress
> samo onih warning-a koji se odnose na te .obj file-ove a da za warnings
> rade za sve sta cu ja dalje napisati?

Ne znam tocno, ali ako je najveci problem onaj warning za nepostojanje
debug informacija mozes potraziti neki compiler switch na tu temu, ili u
najgorem slucaju napraviti onaj neki file koji trazi da bude na tom
nekom mjestu na disku :)

Evo, tu nesto ima na temu skrivanja warninga:

https://msdn.microsoft.com/en-us/library/jj715718.aspx?f=255&MSPPError=-2147217396

https://msdn.microsoft.com/en-us/library/thxezb7y.aspx

--
bbabic(a)globalnet.hr
2b||!2b?

Chupo

unread,
Jul 20, 2015, 9:01:03 AM7/20/15
to
In article <mnjhmf$vu6$1...@ls237.t-com.hr>, Bruno Babic <a@b.c> says...
> Ne znam tocno, ali ako je najveci problem onaj warning za nepostojanje
> debug informacija mozes potraziti neki compiler switch na tu temu, ili u
> najgorem slucaju napraviti onaj neki file koji trazi da bude na tom
> nekom mjestu na disku :)
>

To je prvo sta sam napravio - copy/paste iz inicijalnog posta:

<start copy/paste>
Nakon sta na niti jedan od s Google-om pronadjenih nacina nisam uspio
maknuti warning-e sam na kraju na C: disku slozio foldere tako da path
do vc90.pdb file-a odgovara ovome koji je upisan u .pbj file-ove ali
upozorenja i dalje ostaju
<end copy/paste>
Idealno bi bilo kad bi se moglo iskljuciti warning-e koji se odnose na
samo odredjene .obj file-ove a da za ono sta ja dopisem i dalje rade.

Ovih dana nisam imao vremena, prvom prilikom cu to probati nekako
rijesiti.
0 new messages