pouzivam ubuntu 9, 64 bit, gcc kompilator, code::blocks. A pri kompilovani mi vypise chybu ze pre shared library mam pouzit fPIC, ale nastavil som ten parameter a stale mi to pise
EDIT: na win32 mi to slo, len som zmenil referencie
Fórum › C / C++
C::B gcc fPIC
A máš to nastavené ve správném targetu? Mělo by stačit Menu->Project->Build options, nahoře vybrat překladač, vlevo target a pak na záložce Compiler Settings vybrat podzáložku Other options a připsat tam -fPIC
presne tam som to dal, a mam to v projekte, ne v targete ale skusal som aj tak. Ale ja mam 2 projekty Engine( dynamic library ), hra( console application ).
A este jedna vec, ako mam spravne pri tychto veciach nastavit to ze spolu suvisia
Tak sem napiš, jaký příkaz to při překladu píše.
Závislosti projektů lze nastavit v menu Project->Properties. Na záložce Project settings je dole tlačítko Project's dependencies. Je potřeba mít všechny ty projekty otevřené.
to som dal, a k search directories netreba dat nic, alebo link library??
ked to dam v linkoch hry tak mi v prikaze v engine pise undefined reference.
ked to dam v linkoch enginu tak mi pise:
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/4.3.3/../../../../lib/libglfw.a(init.o): relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC
/usr/lib/gcc/x86_64-linux-gnu/4.3.3/../../../../lib/libglfw.a: could not read symbols: Bad value
collect2: ld returned 1 exit status
Řekl bych, že problém bude v tom, že se do dynamické knihovny přilinkovává libglfw, které ale není přeloženos -fPIC.
to som uz urobil, linkol( no vymazal a znova linkol) som glfw v hre a mi to spustilo ale mam tu druhy problem: ked zmenim nieco v engine tak sa mi ni nezmeni, sice mi to buildne(ak s chybou tak ju vypise), ale aj tak sa mi nic v to nepouzije v tom druhom projektu. Skusal som aj clean workspace, rebuild nic nepomohlo
problem vyresieny, odstranil som v oboch projektoch rucne bin, obj, pre pokus a potom mi hodilo ze nevie nast Engine, tak som sa pozrel do Engine/bin/debug a tam uz bol len Engine.so a nie aj Engine.a ( co to vlastne je a preco ho tu teraz nemam?? ), tak som rucne nastavil cestu ku Engine.so
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Visual c++ vs gcc — založil rodinne.baleni.ryze
Kompilátory (GCC) — založil Bengo
ASM v gcc a C99:? — založil Jonáš
C4droid s GCC pluginem — založil Doomista
Přilinkování knihovny Sdl_image v gcc — založil Alan
Moderátoři diskuze