mayingzhen / nvidia-texture-tools

Automatically exported from code.google.com/p/nvidia-texture-tools
Other
0 stars 0 forks source link

Build conflict with libtiff 4.0.0beta6 #136

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
src/nvcore/DefsGnucLinux.h says:

  typedef unsigned long long  uint64;

libtiff-4.0.0beta6 tiff.h says:

  typedef TIFF_UINT64_T uint64;

which is configured as "unsigned long" when that's 8 bytes (else it tries 
"unsigned long long"). On 64-bit targets, this gives:

   /usr/include/tiff.h:78: error: conflicting declaration ‘typedef long unsigned int uint64’
   [...]/nvcore/DefsGnucLinux.h:61: error: ‘uint64’ has a previous declaration as ‘typedef long long unsigned int uint64’

Same applies to int64.

Original issue reported on code.google.com by exc...@gmail.com on 13 Sep 2010 at 6:55

GoogleCodeExporter commented 8 years ago
Maybe conflicts could be minimised by using uint64_t etc from stdint.h, instead 
of defining non-standard type names, and then emulating stdint.h on MSVC (since 
it's not available there).

Original comment by exc...@gmail.com on 13 Sep 2010 at 6:59

GoogleCodeExporter commented 8 years ago
A simple solution would be to use the posh types in all cases. I believe these 
should be well defined in most platforms. I may switch to Sean Barret's 
sophist, which might be a bit more lightweight: 

https://mollyrocket.com/forums/viewtopic.php?p=6552

BTW, on what platform are you working?

Original comment by cast...@gmail.com on 14 Sep 2010 at 1:52

GoogleCodeExporter commented 8 years ago
I didn't get the error myself, it was reported by someone on Gentoo Linux amd64 
(with nvtt-2.0.8-1). (As it happens I use Gentoo amd64 myself too, but I had 
the stable package version (libtiff 3.9.4) which doesn't trigger this error.)

Original comment by exc...@gmail.com on 14 Sep 2010 at 9:02

GoogleCodeExporter commented 8 years ago
This should hopefully be fixed now.

Original comment by cast...@gmail.com on 20 Sep 2010 at 5:57