Comments (3)
I must have misunderstood that part.
Making a standalone vma.cpp and including only those two lines, then compiling using
g++ -g -c vma.cpp -lvulkan -o vma.o
And then including vma.o in my C project compilation together with -lstdc++
like this
gcc vulkan.c vma.o -std=c11 -Wall -lvulkan -lstdc++ -o vulkan
seems to work.
Not including -lstdc++
gives me this error message when I run the program
./vulkan: symbol lookup error: vulkan: undefined symbol: __cxa_pure_virtual
This works fine I guess.
Thank you for the suggestion!
from vulkanmemoryallocator.
Have you considered including
#define VMA_IMPLEMENTATION
#include "vk_mem_alloc.h"
in a C++ file and than linking against that ?
In the documentation it says:
To do it properly:
- Include "vk_mem_alloc.h" file in each CPP file where you want to use the library. This includes declarations of all members of the library.
- In exacly one CPP file define following macro before this include. It enables also internal definitions.
#define VMA_IMPLEMENTATION #include "vk_mem_alloc.h"
It may be a good idea to create dedicated CPP file just for this purpose.
from vulkanmemoryallocator.
That's right. This library is written in C++, but has C-compatible interface. Thus you can include and use vk_mem_alloc.h in C or C++ code, but full implementation with VMA_IMPLEMENTATION
macro must be compiled as C++, NOT as C. I've clarified this in the documentation. Thanks for this question.
from vulkanmemoryallocator.
Related Issues (20)
- Example for External Memory support HOT 4
- Make a new version HOT 1
- vmaCreatePool failing at startup on some Nvidia gpu + driver combos HOT 5
- 3.0.1 doesn't build on armeabi-v7a HOT 1
- Validation error (VkMemoryRequirements::alignment) in v2.3.0 HOT 2
- Support using parts of VMA without vulkan [virtual allocation & defragmentation] HOT 1
- VMA crashing at startup on Android 14 devices HOT 9
- 3.0.2 release for gcc-13 fix? HOT 1
- PRIu64 format sometimes being used with a type other than uint64_t
- vmaDestroyBuffer() destroy everything but VkDeviceMemory HOT 4
- Need help at identifying potential copy-paste bug HOT 2
- missing VMA_LEN_IF_NOT_NULL in vmaCopyMemoryToAllocation/vmaCopyAllocationToMemory HOT 1
- Buggy mapping hysteresis optimization HOT 2
- Asserts on Android 9 wth vkGetPhysicalDeviceMemoryProperties2KHR HOT 1
- no support for `VkBufferUsageFlags2CreateInfoKHR` HOT 2
- Specify in documentation that individual pools can be individually used w/o external synchronization HOT 1
- Compatibility issue with Vulkan 1.2.198 on OSX HOT 3
- Can I batch all allocations in one function call to VMA if I know my memory requirements upfront? HOT 2
- Building VulkanMemoryAllocator for C HOT 2
- Changes to PFN_vmaAllocateDeviceMemoryFunction HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from vulkanmemoryallocator.