Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

error: cast from ‘Thread*’ to ‘int’ loses precision [-fpermissive] #1

Closed
qubodup opened this issue May 24, 2012 · 3 comments
Closed
Labels

Comments

@qubodup
Copy link

qubodup commented May 24, 2012

System

Arch Linux 64bit
gcc (GCC) 4.7.0 20120505 (prerelease)

Git commit

0a98355

Error

$ make -j1 Make for Linux and derivates c++ -Wp,-M,-MP,-MT,build/source/de/hackcraft/lang/Thread.o,-MF,dep/build-source-de-hackcraft-lang-Thread.o.d -std=gnu++0x -Wall -I source -O1 -funroll-loops -c source/de/hackcraft/lang/Thread.cpp -o build/source/de/hackcraft/lang/Thread.o source/de/hackcraft/lang/Thread.cpp: In member function ‘virtual int Thread::hashCode()’: source/de/hackcraft/lang/Thread.cpp:41:17: error: cast from ‘Thread*’ to ‘int’ loses precision [-fpermissive] make: *** [build/source/de/hackcraft/lang/Thread.o] Error 1

@hackcraft-de
Copy link
Owner

The precision loss in cast is intended as it is only a hash value (that isn't even used yet).
I've changed the line of code.

Please test and report back if the compiler is satisfied with this solution or not.

@qubodup
Copy link
Author

qubodup commented May 24, 2012

I get an error:

$ make -j1 Make for Linux and derivates mkdir -p dist c++ -o dist/linwarrior build/source/de/hackcraft/main.o build/source/de/hackcraft/io/Filesystem.o build/source/de/hackcraft/io/Texfile.o build/source/de/hackcraft/world/Subsystem.o build/source/de/hackcraft/world/Message.o build/source/de/hackcraft/world/Component.o build/source/de/hackcraft/world/Timing.o build/source/de/hackcraft/world/World.o build/source/de/hackcraft/world/Entity.o build/source/de/hackcraft/world/Propmap.o build/source/de/hackcraft/game/GameMain.o build/source/de/hackcraft/game/OpenMission.o build/source/de/hackcraft/game/Game.o build/source/de/hackcraft/lang/Thread.o build/source/de/hackcraft/proc/Ambient.o build/source/de/hackcraft/proc/Solid.o build/source/de/hackcraft/proc/Road.o build/source/de/hackcraft/proc/Facade.o build/source/de/hackcraft/proc/Surface.o build/source/de/hackcraft/proc/Landscape.o build/source/de/hackcraft/world/object/cMech.o build/source/de/hackcraft/world/sub/cityscape/rBuilding.o build/source/de/hackcraft/world/sub/cityscape/CityscapeSystem.o build/source/de/hackcraft/world/sub/cityscape/rTile.o build/source/de/hackcraft/world/sub/cityscape/rPadmap.o build/source/de/hackcraft/world/sub/weapon/rWepcom.o build/source/de/hackcraft/world/sub/weapon/rWeaponExplosion.o build/source/de/hackcraft/world/sub/weapon/rWeaponPlasmagun.o build/source/de/hackcraft/world/sub/weapon/rWeaponSparkgun.o build/source/de/hackcraft/world/sub/weapon/rWeaponHoming.o build/source/de/hackcraft/world/sub/weapon/rWeapon.o build/source/de/hackcraft/world/sub/weapon/rTarget.o build/source/de/hackcraft/world/sub/weapon/WeaponSystem.o build/source/de/hackcraft/world/sub/weapon/rTarcom.o build/source/de/hackcraft/world/sub/weapon/rWeaponRaybeam.o build/source/de/hackcraft/world/sub/weapon/rWeaponMachinegun.o build/source/de/hackcraft/world/sub/model/ModelSystem.o build/source/de/hackcraft/world/sub/model/rBillboard.o build/source/de/hackcraft/world/sub/model/rRigged.o build/source/de/hackcraft/world/sub/model/rScatter.o build/source/de/hackcraft/world/sub/model/rTree.o build/source/de/hackcraft/world/sub/mission/MissionSystem.o build/source/de/hackcraft/world/sub/computer/rNavcom.o build/source/de/hackcraft/world/sub/computer/rComcom.o build/source/de/hackcraft/world/sub/computer/rController.o build/source/de/hackcraft/world/sub/landscape/rPlanetmap.o build/source/de/hackcraft/world/sub/landscape/LandscapeSystem.o build/source/de/hackcraft/world/sub/trigger/TriggerSystem.o build/source/de/hackcraft/world/sub/trigger/rAlert.o build/source/de/hackcraft/world/sub/trigger/rTrigger.o build/source/de/hackcraft/world/sub/mobile/rForcom.o build/source/de/hackcraft/world/sub/mobile/rMobile.o build/source/de/hackcraft/world/sub/mobile/rCamera.o build/source/de/hackcraft/world/sub/physics/PhysicsSystem.o build/source/de/hackcraft/world/sub/physics/rCollider.o build/source/de/hackcraft/world/sub/physics/rTraceable.o build/source/de/hackcraft/world/sub/background/BackgroundSystem.o -lGLEW -lGLU -lSDL -lopenal -lalut /usr/bin/ld: build/source/de/hackcraft/world/object/cMech.o: undefined reference to symbol 'glColor4fv' /usr/bin/ld: note: 'glColor4fv' is defined in DSO /usr/lib/libGL.so.1 so try adding it to the linker command line /usr/lib/libGL.so.1: could not read symbols: Invalid operation collect2: error: ld returned 1 exit status make: *** [dist/linwarrior] Error 1

But adding -lGL to the end of line 54 of the Makefile solves it. I believe this is a behavior/requirement of newer (testing?) versions of GCC, which also sometimes requires adding -lm in other software.

In any case, both GCC and I say thanks!

@hackcraft-de
Copy link
Owner

Ok, I double checked with http://glew.sourceforge.net/install.html and they say GL should be added just like on windows.
I'll commit/push and close this issue (don't hesitate to reopen or open a new issue).
Thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants