PacktPublishing / Vulkan-Cookbook

Code repository for Vulkan Cookbook by Packt
MIT License
816 stars 109 forks source link

Does not build - Ubuntu 16.04 #1

Closed sjfricke closed 6 years ago

sjfricke commented 7 years ago

I am running Ubuntu 16.04 with an Intel i7 and it will not build file for me

Cmake

-- The C compiler identification is GNU 5.4.0
-- The CXX compiler identification is GNU 5.4.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done
-- Generating done
-- Build files have been written to: /home/fricke/vulkan/Vulkan-Cookbook

make

Scanning dependencies of target CookbookLibrary
[  0%] Building CXX object CMakeFiles/CookbookLibrary.dir/Library/Common_Files/VulkanDestroyer.cpp.o
In file included from /home/fricke/vulkan/Vulkan-Cookbook/Library/Common Files/VulkanDestroyer.cpp:28:0:
/home/fricke/vulkan/Vulkan-Cookbook/Library/Common Files/VulkanDestroyer.h:78:35: error: expected ‘,’ or ‘...’ before ‘&&’ token
     VkDestroyer( VkDestroyer<OBJ> && other ) :
                                   ^
/home/fricke/vulkan/Vulkan-Cookbook/Library/Common Files/VulkanDestroyer.h:78:44: error: invalid constructor; you probably meant ‘VulkanCookbook::VkDestroyer<OBJ> (const VulkanCookbook::VkDestroyer<OBJ>&)’
     VkDestroyer( VkDestroyer<OBJ> && other ) :
                                            ^
/home/fricke/vulkan/Vulkan-Cookbook/Library/Common Files/VulkanDestroyer.h:83:46: error: expected ‘,’ or ‘...’ before ‘&&’ token
     VkDestroyer& operator=( VkDestroyer<OBJ> && other ) {
                                              ^
/home/fricke/vulkan/Vulkan-Cookbook/Library/Common Files/VulkanDestroyer.h:115:30: warning: explicit conversion operators only available with -std=c++11 or -std=gnu++11
     explicit operator bool() const {
                              ^
/home/fricke/vulkan/Vulkan-Cookbook/Library/Common Files/VulkanDestroyer.h: In instantiation of ‘class VulkanCookbook::VkDestroyer<VkDevice_T*>’:
/home/fricke/vulkan/Vulkan-Cookbook/Library/Common Files/VulkanDestroyer.h:57:16:   required from here
/home/fricke/vulkan/Vulkan-Cookbook/Library/Common Files/VulkanDestroyer.h:120:5: error: ‘VulkanCookbook::VkDestroyer<OBJ>::VkDestroyer(const VulkanCookbook::VkDestroyer<OBJ>&) [with OBJ = VkDevice_T*]’ cannot be overloaded
     VkDestroyer( VkDestroyer<OBJ> const & );
     ^
/home/fricke/vulkan/Vulkan-Cookbook/Library/Common Files/VulkanDestroyer.h:56:5: error: with ‘VulkanCookbook::VkDestroyer<OBJ>::VkDestroyer(const VulkanCookbook::VkDestroyer<VkDevice_T*>&) [with OBJ = VkDevice_T*]’
     VkDestroyer( VkDestroyer<VkDevice> const & device ) :
     ^
/home/fricke/vulkan/Vulkan-Cookbook/Library/Common Files/VulkanDestroyer.h: In member function ‘VulkanCookbook::VkDestroyer<OBJ>& VulkanCookbook::VkDestroyer<OBJ>::operator=(VulkanCookbook::VkDestroyer<OBJ>)’:
/home/fricke/vulkan/Vulkan-Cookbook/Library/Common Files/VulkanDestroyer.h:84:20: error: ‘other’ was not declared in this scope
       if( this != &other ) {
                    ^
/home/fricke/vulkan/Vulkan-Cookbook/Library/Common Files/VulkanDestroyer.h: At global scope:
/home/fricke/vulkan/Vulkan-Cookbook/Library/Common Files/VulkanDestroyer.h:147:42: error: expected ‘,’ or ‘...’ before ‘&&’ token
     VkDestroyer( VkDestroyer<VkInstance> && other ) {
                                          ^
/home/fricke/vulkan/Vulkan-Cookbook/Library/Common Files/VulkanDestroyer.h:147:51: error: invalid constructor; you probably meant ‘VulkanCookbook::VkDestroyer<VkInstance_T*> (const VulkanCookbook::VkDestroyer<VkInstance_T*>&)’
     VkDestroyer( VkDestroyer<VkInstance> && other ) {
                                                   ^
/home/fricke/vulkan/Vulkan-Cookbook/Library/Common Files/VulkanDestroyer.h:151:53: error: expected ‘,’ or ‘...’ before ‘&&’ token
     VkDestroyer& operator=( VkDestroyer<VkInstance> && other ) {
                                                     ^
/home/fricke/vulkan/Vulkan-Cookbook/Library/Common Files/VulkanDestroyer.h:179:30: warning: explicit conversion operators only available with -std=c++11 or -std=gnu++11
     explicit operator bool() const {
                              ^
/home/fricke/vulkan/Vulkan-Cookbook/Library/Common Files/VulkanDestroyer.h: In member function ‘VulkanCookbook::VkDestroyer<VkInstance_T*>& VulkanCookbook::VkDestroyer<VkInstance_T*>::operator=(VulkanCookbook::VkDestroyer<VkInstance_T*>)’:
/home/fricke/vulkan/Vulkan-Cookbook/Library/Common Files/VulkanDestroyer.h:152:20: error: ‘other’ was not declared in this scope
       if( this != &other ) {
                    ^
/home/fricke/vulkan/Vulkan-Cookbook/Library/Common Files/VulkanDestroyer.h: At global scope:
/home/fricke/vulkan/Vulkan-Cookbook/Library/Common Files/VulkanDestroyer.h:194:9: error: specialization of ‘VulkanCookbook::VkDestroyer<VkDevice_T*>’ after instantiation
   class VkDestroyer<VkDevice> {
         ^
/home/fricke/vulkan/Vulkan-Cookbook/Library/Common Files/VulkanDestroyer.h:194:9: error: redefinition of ‘class VulkanCookbook::VkDestroyer<VkDevice_T*>’
/home/fricke/vulkan/Vulkan-Cookbook/Library/Common Files/VulkanDestroyer.h:44:9: error: previous definition of ‘class VulkanCookbook::VkDestroyer<VkDevice_T*>’
   class VkDestroyer {
         ^
/home/fricke/vulkan/Vulkan-Cookbook/Library/Common Files/VulkanDestroyer.h:291:44: error: expected ‘,’ or ‘...’ before ‘&&’ token
     VkDestroyer( VkDestroyer<VkSurfaceKHR> && other ) {
                                            ^
/home/fricke/vulkan/Vulkan-Cookbook/Library/Common Files/VulkanDestroyer.h:291:53: error: invalid constructor; you probably meant ‘VulkanCookbook::VkDestroyer<VkSurfaceKHR_T*> (const VulkanCookbook::VkDestroyer<VkSurfaceKHR_T*>&)’
     VkDestroyer( VkDestroyer<VkSurfaceKHR> && other ) {
                                                     ^
/home/fricke/vulkan/Vulkan-Cookbook/Library/Common Files/VulkanDestroyer.h:295:55: error: expected ‘,’ or ‘...’ before ‘&&’ token
     VkDestroyer& operator=( VkDestroyer<VkSurfaceKHR> && other ) {
                                                       ^
/home/fricke/vulkan/Vulkan-Cookbook/Library/Common Files/VulkanDestroyer.h:325:30: warning: explicit conversion operators only available with -std=c++11 or -std=gnu++11
     explicit operator bool() const {
                              ^
/home/fricke/vulkan/Vulkan-Cookbook/Library/Common Files/VulkanDestroyer.h: In member function ‘VulkanCookbook::VkDestroyer<VkSurfaceKHR_T*>& VulkanCookbook::VkDestroyer<VkSurfaceKHR_T*>::operator=(VulkanCookbook::VkDestroyer<VkSurfaceKHR_T*>)’:
/home/fricke/vulkan/Vulkan-Cookbook/Library/Common Files/VulkanDestroyer.h:296:20: error: ‘other’ was not declared in this scope
       if( this != &other ) {
                    ^
/home/fricke/vulkan/Vulkan-Cookbook/Library/Common Files/VulkanDestroyer.cpp: In member function ‘void VulkanCookbook::VkDestroyer<VkInstance_T*>::Destroy()’:
/home/fricke/vulkan/Vulkan-Cookbook/Library/Common Files/VulkanDestroyer.cpp:41:9: error: ‘nullptr’ was not declared in this scope
     if( nullptr != vkDestroyInstance ) {
         ^
/home/fricke/vulkan/Vulkan-Cookbook/Library/Common Files/VulkanDestroyer.cpp: At global scope:
/home/fricke/vulkan/Vulkan-Cookbook/Library/Common Files/VulkanDestroyer.cpp:46:8: error: specializing member ‘VulkanCookbook::VkDestroyer<VkDevice_T*>::Destroy’ requires ‘template<>’ syntax
   void VkDestroyer<VkDevice>::Destroy() {
        ^
/home/fricke/vulkan/Vulkan-Cookbook/Library/Common Files/VulkanDestroyer.cpp:81:1: error: expected ‘}’ at end of input
 } // namespace VulkanCookbook
 ^
CMakeFiles/CookbookLibrary.dir/build.make:62: recipe for target 'CMakeFiles/CookbookLibrary.dir/Library/Common_Files/VulkanDestroyer.cpp.o' failed
make[2]: *** [CMakeFiles/CookbookLibrary.dir/Library/Common_Files/VulkanDestroyer.cpp.o] Error 1
CMakeFiles/Makefile2:289: recipe for target 'CMakeFiles/CookbookLibrary.dir/all' failed
make[1]: *** [CMakeFiles/CookbookLibrary.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2
Ekzuzy commented 7 years ago

Yes. Linux version is being prepared.

sjfricke commented 7 years ago

Ok, Thanks for updating Readme... please ping this issue when its ready, excited to use the cookbook examples, just ordered the book this morning

techsachinkumar commented 6 years ago

Hi @sjfricke

Codes are updated. Please have a look and let us know.

Closed.